2012-02-14 93 views
0

我想创建一个应用程序在谷歌应用程序引擎上使用python来处理文件上传并将它们存储到blobstore中。上传到Blobstore而不使用blobstore.create_upload_url

但是,目前blobstore需要使用blobstore.create_upload_url来创建文件上传表单帖子的url。由于我从其他服务器上传,我的问题是,是否可以将文件上传到gae blobstore而不使用blobstore.create_upload_url中的动态url?

仅供参考,在我从另一台服务器上传之前,我需要从python脚本请求一个上传URL,但这会造成额外的延迟,这不是我想要的。我还读到了使用http://code.google.com/intl/en/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore中所谓的“类文件API”,但文档似乎没有涵盖上传的部分。

另外,以前我试图使用数据存储上传文件,但最大文件大小为1MB,这不足以满足我的情况。请提醒,谢谢。

回答

5

将文件写入blobstore的方法有两种:1)使用create_upload_url,并发布带有文件附件的表单; 2)直接使用API​​写入Blobstore(对于大型文件使用解决方案here )。

如果你想远程服务器能够上传,你有相同的两个选择:

1)远程服务器首创请求一个URL。你有一个处理程序只是返回这样一个URL。通过这个URL,远程服务器会发出一个正确编码的POST消息并将其发布到URL。

2)您发送的文件数据作为HTTP参数的处理程序,以您的应用程序引擎服务器,它使用Blob存储区写入API来然后直接写入文件。请求大小为limited到32MB,这样你就可以用这个方法写的最大文件大小将根据稍微定。

+0

但是,如果我使用的方法2,会是怎样的上传大小限制? – Tony 2012-02-16 03:39:39

+0

更新与限制的办法#2。 – mjibson 2012-02-16 17:46:57

相关问题