【发布时间】:2016-07-23 14:17:20
【问题描述】:
我正在开发一个应用程序,它会提示用户上传一个文件,然后可以下载该文件。 这是下载处理程序:
class ViewPrezentacje(blobstore_handlers.BlobstoreDownloadHandler, BaseHandler):
def get(self,blob_key):
blob_key = str(urllib.unquote(blob_key))
blob_info=blobstore.BlobInfo.get(blob_key)
self.send_blob(blob_info, save_as=urllib.quote(blob_info.filename.encode('utf-8')))
使用 Chrome 或 IE 时以正确的文件名下载文件(即正确显示 unicode 文字),但在 Firefox 中它被保存为格式为“%83%86%E3...”的字符串 有没有办法让它在 Firefox 中正常工作?
【问题讨论】:
-
dev_appserver 是否也存在相同的行为?由于这个错误,我还遇到了 blobstore 的编码问题; code.google.com/p/googleappengine/issues/detail?id=2749
-
我遇到了同样的问题。我通过 ajax 提交表单数据和通过上传文件表单提交文件来规避它 - 它们每个都触发不同的处理程序(显然 blobstore 处理程序没有正确编码 unicode 文字,无论发送它们的方式是 ajax 还是 web 表单)。但是,文件名问题也出现在 dev 应用服务器上。
标签: python python-2.7 google-app-engine firefox unicode