0

我是 Python 和 Google App Engine 的新手。我需要在 GAE 数据存储中存储一个图像(不是 blobstore - 有很多示例要存储在 blobstore 中,我已经让它在 blobstore 中工作)。

文档如下:

movie = Movie()
...
movie.picture = db.Blob(urlfetch.Fetch(picture_url).content)
movie.put()

我的问题是如何获得picture_url?我不能使用create_upload_url方法,因为这是针对 Blobstore 的。

提前致谢

4

2 回答 2

0

这个问题的措辞没有人能回答,因为您需要告诉人们您打算如何开始获取图像数据。

您使用的代码是从某个 URL 下载图像并将其保存到您的 blobstore。您应该能够使用来自 flickr 或 facebook 或任何其他网站的任何可公开访问的图像 url 作为 url。您需要决定要使用的网址。

如果您希望用户上传数据,那么您需要用户使用 multipart/form-data 中的图像发出 POST 请求。您将访问请求处理程序request.POST对象中的数据。在这种情况下,您不会从 url 获取它。

如果您使用的是 Blobstore,GAE 会自动解析 POST 请求数据,将其保存在 Blobstore 中,并为您提供一个 url。如果您不使用 Blobstore,则您的请求对象中的图像数据将只存在于内存中。

于 2013-03-27T21:26:06.147 回答
0
db.Blob(urlfetch.Fetch(picture_url).content)

用于从其他网站获取图像。

如果你想存储用户上传的东西,你最好使用

data = self.request.get('data')  # where 'data' is the data field from your HTML form
if data :
    db.Blob(data)
于 2013-03-29T01:46:13.477 回答