直接将数据放入AppEngine的Blobstore中

Era*_*mpf 6 google-app-engine blobstore

AppEngine的标准API假设文件是​​从HTML表单上传的.我正在尝试从REST API方法将文件发布到blobstore,该方法可以由非Html客户端(Flash,iPhone等)调用

我正在努力工作的代码:

# Get the blobstore upload url    
upload_url = blobstore.create_upload_url("/activities/upload_finished");

# Make sync call to the blobstore url to post our image
result = urlfetch.fetch(url=upload_url,
                        payload=request.FILES,
                        method=urlfetch.POST,
                        headers={'Content-Type': 'multipart/form-data'})
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ValueError:无效边界

任何的想法?
有没有人试过不通过网络表单发布到blobstore?

多部分形式:''

Sha*_*men 7

App Engine(版本1.4.3)允许您直接将数据写入blobstore.
您不再需要使用上传网址方法.

  • @Yonatan这意味着"不要哭,如果它不起作用并打破你的网站":)以及"我们可能会改变API,直到最终重新开始" (5认同)

Nic*_*son 4

您无法仅通过指定内容类型将常规帖子转换为多部分表单 - 您只是提交了内容类型错误的 URL 编码数据。

您需要使用电子邮件模块或手动组装正确的多部分表单,如下所示

另见这个问题