如何强制浏览器不下载带有内容处置的文件:附件标题

时间:2012-08-07 16:30:54

标签: http browser http-headers content-disposition

例如:

<iframe src="http://otherdomainidontcontrol.com/blah.csv"></iframe>

而blah.csv有这个标题:

Content-Disposition: attachment; filename=blah.csv;

是否可以强制blah.csv在iframe中呈现而不是下载?

2 个答案:

答案 0 :(得分:8)

我们实际上一直在为我们的应用程序调查这个,因为我们希望浏览器在能够这样做的情况下呈现嵌入的文件 - 如果不能,我们希望浏览器以适当的名称下载文件

如果您将Content-Disposition标题更改为内联而不是附件,则它会以这种方式工作 - 如果能够执行此操作,浏览器将呈现该文件,如果不能,则该文件将作为您的任何内容下载在Content-Disposition标题的文件名部分中指定

response.headers['Content-Disposition'] = "inline; filename=name.extension"

但是,如果你已经说过,你的blah.csv带回了那个标题并且你无法拦截它或改变它,那么我会同意没有办法解决它。 “附件”部分指定下载文件。

答案 1 :(得分:2)

我认为没有办法绕过Content-Disposition(出于安全原因,这可能很好)。