nginx服务端配置pdf文件下载在chrome上是不生效

作者:动易软件 来源:本站原创 点击数: 发布时间:2020年04月21日

问题描述:默认情况下,通过nginx服务器来访问pdf文件,在浏览器上是会直接打开该pdf文件呈现内容的。如果想要访问pdf文件时,实现下载文件的效果,则需要在nginx服务端做一些配置,但是配置完成后,pdf文件下载在chrome上还是不生效,为什么呢?

问题分析:

当文件后缀匹配pdf,rar等文件后,当访问该些文件时,则会进行下载的操作,匹配文件后缀如下配置:

# vi nginx.conf

location /{

if ($request_filename ~*^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){

add_header Content-Disposition:'attachment;';

}

}

但以上的配置在chrome上是不生效的,因为chrome会自动在浏览器中去识别文件的后缀,当识别到pdf文件时,还是会打开文件在网页中识别内容。

解决方案:

这时候需要修改pdf的mime-type。

# vi mime.types

application/pdf octet-stream;

把mime-type修改为octet-stream后,chrome上就也可以进行下载了。