Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Download 将文件流式传输到浏览器时ie9挂起_Download_Internet Explorer 9 - Fatal编程技术网

Download 将文件流式传输到浏览器时ie9挂起

Download 将文件流式传输到浏览器时ie9挂起,download,internet-explorer-9,Download,Internet Explorer 9,我使用以下方法将文件(通常是Excel或PDF)流式传输到浏览器。它通过将隐藏iFrame的位置设置为包含代码的下载处理程序来操作 t在Firefox等以及IE9的某些实例中运行良好,但在IE9的其他实例中则不行 如果不起作用,则会显示信息栏,但没有打开选项,只有保存或取消 信息栏将挂起,无法关闭或取消 此外,URL也会更改,以便将文件前缀(例如.xls或.pdf)前的点更改为下划线 一个典型的正确答案是 /export_templates/rawdata/downloadfile7.asp?f

我使用以下方法将文件(通常是Excel或PDF)流式传输到浏览器。它通过将隐藏iFrame的位置设置为包含代码的下载处理程序来操作

t在Firefox等以及IE9的某些实例中运行良好,但在IE9的其他实例中则不行

如果不起作用,则会显示信息栏,但没有打开选项,只有保存或取消

信息栏将挂起,无法关闭或取消

此外,URL也会更改,以便将文件前缀(例如.xls或.pdf)前的点更改为下划线

一个典型的正确答案是

/export_templates/rawdata/downloadfile7.asp?fID=@_pdf@{875CFEE5-23D4-42CB-8885-7A9D493DC616}.pdf&fname=Quick%5Fpoll.pdf
是否有人看到了这一点或找到了修复方法。没有加载项启用,没有av阻止它。我们已经比较了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

我认为上述准则存在两个潜在问题和两个潜在的“情有可原的情况”:

1.)不引用文件名。我在使用时发现了一些问题:

内容配置:附件;filename=文件名.pdf
vs。
内容配置:附件;filename=“File Name.pdf”

注意文件名周围的双引号。当名称包含空格或其他不安全字符时,这一点很重要

2.)内容类型错误。如上所述,这是系统如何处理文件的一个重要提示。对于PDF,您确实应该使用
application/PDF

3.)不同的传输编码。这个问题可能只影响gzip(deflate)内容。这不是IE第一次不能正确处理压缩流


4.)如果在同一浏览器的副本之间看到不同的结果,则应尝试确定它们是否具有相同的次要版本以及操作系统、插件、工具栏和PDF阅读器。这些都可能是一个因素。

我也有同样的问题,也没有任何建议:(我也有同样的问题,也没有任何建议,但有一个进一步的观察。我在IIS express和IIS 7.5上运行相同的代码库。具有IE9的计算机与IIS express没有问题,但与IIS 7.5有问题。具有IE9的其他计算机与这两个服务器都没有问题。您是否尝试将ContentType设置为sp具体值?例如,如果是PDF,则将其设置为application/PDF。我也有同样的问题,但肯定正确设置了ContentType,以便在IE9以外的浏览器中通过Foxit打开PDF,通过excel打开电子表格等。很好,但您能告诉我们哪一步解决了您的问题吗?为了其他人的利益?解决方案是文件名周围的双引号吗