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

Mat*_*ork 3 browser http content-disposition http-headers

例如:

<iframe src="http://otherdomainidontcontrol.com/blah.csv"></iframe>
Run Code Online (Sandbox Code Playgroud)

并且blah.csv有这个标题:

Content-Disposition: attachment; filename=blah.csv;
Run Code Online (Sandbox Code Playgroud)

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

Kri*_*sta 8

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

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

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

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


Jul*_*hke 5

我认为没有办法绕过内容处置(出于安全原因这可能是有好处的)。