【发布时间】:2019-02-06 06:15:14
【问题描述】:
在我们的跨浏览器网络应用程序中,客户端可以上传不同的文件类型(.pdf、.eml、.jpg 等)。
客户端已请求通过在浏览器中打开或下载附件的标准化方式来查看这些附件。
我查看了content-disposition 标头来强制下载文档,但这是否适用于所有浏览器?默认浏览器应用呢,他们不会尝试直接在浏览器中打开文件吗?
【问题讨论】:
标签: c# jquery html download attachment
在我们的跨浏览器网络应用程序中,客户端可以上传不同的文件类型(.pdf、.eml、.jpg 等)。
客户端已请求通过在浏览器中打开或下载附件的标准化方式来查看这些附件。
我查看了content-disposition 标头来强制下载文档,但这是否适用于所有浏览器?默认浏览器应用呢,他们不会尝试直接在浏览器中打开文件吗?
【问题讨论】:
标签: c# jquery html download attachment
根据https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#Browser_compatibility content-disposition 响应头兼容所有浏览器。因此,如果您需要强制下载,请使用 Content-Disposition: attachment (并且该文件将始终被下载)。建议同时指定文件名,可能还有内容类型:
Content-Disposition: attachment; filename="filename.jpg"
Content-Type: image/jpg
如果您跳过标题,或者只使用 content-disposition:inline,那么浏览器将尝试以内联方式打开文件。
【讨论】:
对于这些情况,我使用标签上的下载属性。
<a href='./download-file.pdf' download='Name of File for user'>Click me to download</a>
【讨论】: