默认情况下通过服务器来访问pdf等文件,会在浏览器上直接打开.如果想要实现下载文件的效果,则需要在服务端做一些设置
server nginx { listen 80; server_name xxx.xxx.xxx; location ^~ /download/ { root /download/center/; sendfile on; # 开启高效文件传输模式 autoindex on; # 开启目录文件列表 autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes autoindex_localtime on; # 显示的文件时间为文件的服务器时间 charset utf-8,gbk; # 避免中文乱码 # 开启下载功能 if($request_filename ~* ^.*?.(txt|doc|pdf|zip|docx|xlsx|gif|jpg|png)$) { add_header Content-Disposition attachment; add_header Content-Type application/octet-stream; } } }
server { listen 80; server_name xxx.xxx.xxx; location ^~ /download/ { root /download/center/; sendfile on; # 开启高效文件传输模式 autoindex on; # 开启目录文件列表 autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes autoindex_localtime on; # 显示的文件时间为文件的服务器时间 charset utf-8,gbk; # 避免中文乱码 # 同时开启预览及下载功能 if($request_filename ~* ^.*?.(txt|doc|pdf|zip|docx|xlsx|gif|jpg|png)$) { add_header Content-Disposition: 'p_w_upload;'; } } }