我在使用send_blob函数向Internet Explorer提供文件时遇到问题。文件非常小,从0.5Mb到5Mb。一切都在Firefox和Chrome中运行良好,但在IE 8.0中,我得到了下载进度窗口,几秒后出错:
“无法从[此处的域名]
下载[blob key]无法打开此Internet站点。请求的网站不可用或无法找到。请稍后再试“
答案 0 :(得分:2)
此问题是由尝试通过HTTPS下载二进制文件时IE中的错误引起的。该错误与HTTP响应中的Cache-Control标头有关。
您可以在此处找到更多信息:
http://support.microsoft.com/kb/323308
http://trac.edgewall.org/ticket/9584
问题可以通过使用HTTP而不是HTTPS或通过将处理程序中的Cache-Control设置为与“no-cache”不同来解决。以下代码对我有用:
class Download(blobstore_handlers.BlobstoreDownloadHandler):
def get(self):
blob = self.request.get('blob_key')
self.response.headers['Cache-control'] = 'max-age=0'
self.send_blob(blob)