GAE Python 无法将文件正确写入云存储

GAE Python unable to write file properly to Cloud Storage

在使用 Web 表单(python、webapp2、gae)上传文件和写入云存储 (GCS) 时,我无法弄清楚我做错了什么

jinja2 模板

<form action="/upload_data" method="post">
<input type="file" name="add_scanned_data_file" enctype="multipart/form-data">
<input type="image" src="stylesheets/add_data.png" alt="submit" align="left"></form>

webapp2 代码

fx = self.request.body_file
fx_name = "some_name"
gcs_file = gcs.open(_GCS_BUCKET_NAME + fx_name, 'w')
gcs_file.write(fx.read())
gcs_file.close()

文件上传到 GCS 但不正确。 GCS 中上传文件的内容只显示文件名和一些表单参数字符串。所以看来我没有正确地从 webform 读取输入文件。

_________Edit(下方添加文字)___________

虽然这个(在表单标签中添加多部分)到目前为止有效并且(gcs_file.write(fx.read())在 GCS 中上传文件。但是当我尝试读取该文件时(或者从 GCS浏览器或 self.response.write(gcs_file.read()) ),我得到如下输出(这意味着我需要对文件元数据做些什么??)

                                                  ------WebKitFormBoundaryk9MfD0ETQjUVirBO Content-Disposition: form-data; name="add_scanned_data_update_date" ------WebKitFormBoundaryk9MfD0ETQjUVirBO Content-Disposition: form-data; name="add_scanned_data_text" Upload ------WebKitFormBoundaryk9MfD0ETQjUVirBO Content-Disposition: form-data; name="add_scanned_data_file"; filename="sample.jpg" Content-type: image/jpeg ����JFIF,,��xPhotoshop 3.08BIM\gP53616c7465645f5f605b5cccc1a3ffb06bd320d5ad9ccaa25a68c613f04d7ad0dcaed6e1c049c109��C��C

enctypeform 标签的一个属性:

<form action="/upload_data" method="post" enctype="multipart/form-data">
<input type="file" name="add_scanned_data_file">
<input type="image" src="stylesheets/add_data.png" alt="submit" align="left">
</form>