der*_*hen 10 download internet-explorer-9
我使用以下内容将文件(通常是Excel或PDF)流式传输到浏览器.它通过将隐藏的iFrame的位置设置为包含代码的下载处理程序来进行操作.
在Firefox等和IE9的某些实例中运行良好但在IE9的其他实例中没有.
如果它不起作用,则会显示信息栏,但没有打开选项,只有保存或取消.
信息栏随后挂起,无法关闭或取消.
此外,URL也会更改,以便将文件前缀(例如.xls或.pdf)之前的点更改为下划线.
一个典型的正确的是
/export_templates/rawdata/downloadfile7.asp?fID=@_pdf@{875CFEE5-23D4-42CB-8885-7A9D493DC616}.pdf&fname=Quick%5Fpoll.pdf
Run Code Online (Sandbox Code Playgroud)
有没有人看过这个或找到了修复.没有启用加载项,也没有停止加载.我们已经将IE,av和防火墙中的设置与机器上的设置进行了比较,但它们是相同的,并且不起作用.
Set adoStream = CreateObject("ADODB.Stream")
adoStream.Open()
adoStream.Type = 1
adoStream.LoadFromFile(f.Path)
dataSize = f.size
Response.Buffer = true
Response.CharSet = "UTF-8"
Response.clear
Response.ContentType = "application/x-unknown" ' arbitrary
Response.AddHeader "Content-Length", dataSize
Response.AddHeader "Content-Disposition","attachment;filename=" & thisfname
Response.flush
do while not adoStream.eos
Response.BinaryWrite adoStream.Read(1024 * 8)
Response.flush
loop
Response.End()
adoStream.close
set adoStream=nothing
Run Code Online (Sandbox Code Playgroud)
我发现上面的代码存在两个潜在问题以及两个潜在的“情有可原的情况”:
1.) 不引用文件名。我在使用时遇到了问题:
Content-Disposition: attachment;filename=File Name.pdf
与
Content-Disposition: attachment;filename="File Name.pdf"
请注意文件名周围的双引号。当名称包含空格或其他不安全字符时,这一点很重要。
2.) 内容类型错误。正如上面的评论中提到的,这是系统如何处理文件的重要提示。对于 PDF,你真的应该使用application/pdf
3.) 不同的传输编码。此问题可能仅影响压缩(压缩)内容。这并不是 IE 第一次无法正确处理压缩流。
4.) 如果您在同一浏览器的多个副本之间看到不同的结果,您应该尝试确定它们是否也具有相同的次要版本以及操作系统、插件、工具栏和 PDF 阅读器。这些事情中的任何一个都可能是一个因素。
| 归档时间: |
|
| 查看次数: |
2021 次 |
| 最近记录: |