如何通过app引擎将图像上传到云存储?

时间:2014-11-19 14:42:26

标签: google-app-engine python-2.7 google-cloud-storage

我正在使用谷歌应用引擎的python。 我想从浏览器获取图像并将其上传到云存储。

形式:

<form action="http://myappId.appspot.com/test/uploadImage" method="post">
 <input type="file" name="file" value='file'><br>

<input type="submit" value="Submit">
</form>

我的服务器端:

class uploadImageTOCloudStorage(webapp2.RequestHandler):
    def post(self):
        image = self.request.get("file")
        gcs_file=gcs.open(GCS_BUCKET_NAME+'testImage.png', 'w')
        gcs_file.write(image.encod('utf-8'))
        gcs_file.close()

        self.response.write("succeed !")

保存在云存储中的文件,但是我无法下载它的问题,我收到了这个错误:

The file could not be opened, it may be damaged or user a file format that preview doesn't recognize !

我该怎么办?

我不想使用blobstore,因为create_upload_url只会活动十分钟。

1 个答案:

答案 0 :(得分:1)

可能是因为您的表单没有合适的enctype="multipart/form-data"吗?