【问题标题】:how to upload image to the cloud storage via app engine?如何通过应用引擎将图像上传到云存储?
【发布时间】:2025-12-22 21:55:12
【问题描述】:

我正在使用 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 将只活动十分钟。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • aaa 是的,你知道我怎样才能得到图像类型(png,jpeg...)和大小?
    • 是的,使用 Image api。这是一个新问题
    • 这超出了这个问题的范围,你真的应该努力阅读 Images API 的文档。就这么简单:image_bytes = image_from_form.read()image = images.Image(image_bytes)content_type = image_from_form.content_typewidth = image.width
    最近更新 更多