我有一个人们可以上传文件的网站,并在以后方便他们查看。我将二进制信息与mime类型一起存储在我的数据库中,稍后直接将二进制内容流式传输到浏览器。
这适用于除Office 2007文件之外的每种文件类型。当我尝试查看Office 2007文件时,我会收到一个请求凭据的弹出窗口。在我关闭对话框(通过取消)后,我得到另一个弹出窗口,如下所示:
在解除此对话框后(单击“是”),文档最终打开。是什么赋予了?浏览器真的不知道如何处理Office 2007文件吗?我检查了mime-type我正在保存,一切看起来都正确。在尝试打开文件时,我可以做些什么来摆脱这些对话?
答案 0 :(得分:2)
在VS Office Developer上查看this explanation。
它提供了一个注册表黑客,您的用户可以选择应用它来消除此警告。
答案 1 :(得分:1)
您的浏览器可能无法正确处理Content-type和/或Content-Disposition标头。我已经看到它发生在ff,safari和IE中,以各种方式呈现各种文件。
尝试通过拦截代理(如webscarab或burpsuite)下载文件,以查看响应标头的外观。它应该至少让你知道问题是基于浏览器还是基于服务器。
答案 2 :(得分:0)
您是否也使用内容处置来设置文件名?尝试
可能是个主意答案 3 :(得分:0)
您是否在流式文件中返回“Content-Disposition”标头?另外,请记住,Firefox和旧版本的IE处理文件名标题的方式不同。
“Content-disposition:attachment; filename = movie.mpg”