图像上传不适用于App Engine NDB:405方法不允许

时间:2013-03-31 01:51:05

标签: google-app-engine webapp2 app-engine-ndb

我按照本教程https://developers.google.com/appengine/docs/python/tools/webapp/blobstorehandlers允许用户在我的应用中上传图片。它适用于我的应用程序,它使用Python 2.5环境,但不适用于我的Python 2.7应用程序。根据该文档,blobstore在webapp2中不可用,因此我们必须使用webapp blobstore。

加载表单时,我没有错误。提交表单时会出现错误。

当我将upload_url置于表单操作属性并提交时,我收到此错误: 405方法不允许此资源不允许POST方法

当我没有把upload_url提交并提交时,我没有错误,但表单数据没有保存在数据库中。

1 个答案:

答案 0 :(得分:1)

可能是你犯了一个像

这样的错误
AddProductHandler(BaseHandler, blobstore_handlers.BlobstoreUploadHandler):
    def get(self):
        #Code

而不是

AddProductHandler(BaseHandler, blobstore_handlers.BlobstoreUploadHandler):
    def post(self):
        #Code

如果没有,你可以尝试将def get(self)添加到处理程序中,看看它是否会遇到那个。

另一种可能性是你给了blobstore.create_upload_url错误的uri,这样你实际上是在击中错误的处理程序吗?

blobstore.create_upload_url(URI)

其中uri应指向AddProductHandler