4

更新

这个问题最初是在不支持程序化文件创建的时候提出的(例如通过 url)。这已经改变,请参阅:http ://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore

我正在访问几个不同的 API 来获取图像。我的应用程序是 GAE + Python,我想使用 Blobstore 来保存这些图像。GAE Blobstore 文档提供了有关如何通过表单而不是直接从 url 将图像保存到 Blobstore 的清晰示例。

http://code.google.com/intl/iw/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

我想知道如何将http://api.website.com/images/foo.jpg保存到 Blobstore。

4

3 回答 3

2

HTTP POST 到您自己的表单有效。我没有尝试提交文件,但这是我提交表单的方式。您可以从 Internet 获取文件,将其添加到表单提交中,该文件将存储在您的 blobstore 中。

import urllib
data = urllib.urlencode({"id":str(id), "password" : self.request.POST['passwd'], "edit" : "edit"})
result = urlfetch.fetch(url="http://www.montao.com.br/upload",
payload=data,
method=urlfetch.POST,
headers={'Content-Type': 'application/x-www-form-urlencoded'})

也有一个类似的问题在这里回答

我希望这个对你有用。

于 2010-12-30T23:30:01.327 回答
2

将新的 File API 与 urlfetch API 结合使用,您应该能够通过表单传递图像 url,在服务器端获取它并将其写入 blobstore:

http://code.google.com/intl/iw/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

于 2011-05-27T11:40:19.163 回答
0

您可以编写一个额外的处理程序来将输入 url 的内容上传到 blob 存储处理程序。即自动化表单提交过程。向 blob 存储处理程序发出POST请求,并对图像进行 url 编码。

但唯一的问题是如果文件太大,那么您可能会遇到超时异常。

于 2010-12-30T17:22:57.647 回答