server {
listen 80;
server_name file.domin.com;
charset utf-8;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 5;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-icon;
charset_types text/css application/javascript application/json text/plain;
# 强制文件下载
# 携带filename参数 即可自定义名称
# 如:http://file.domain.com/download/a.jpg?filename=中文abc.jpg
location ^~ /download/ {
add_header Content-Disposition "attachment;filename*=UFT-8''$arg_filename";
alias /home/user/storage/high/;
break;
}
# 文件预览
# 分别将文件的高中低质量存放在 high、middle、low 文件夹中
# 根据参数img-process 访问不同压缩质量的文件,默认高质量
# 如中质量:http://file.domain.com/a.jpg?img-process=img-quality-middle
location ^~ / {
set $fpwd '/home/user/storage/high/';
if ( $arg_img-process = 'img-quality-low' ) {
set $fpwd '/home/user/storage/low/';
}
if ( $arg_img-process = 'img-quality-middle' ) {
set $fpwd '/home/user/storage/middle/';
}
if ( $arg_img-process = 'img-quality-high' ) {
set $fpwd '/home/user/storage/high/';
}
# 判断文件是否存在
if ( !-e $request_filename ) {
set $fpwd '/home/user/storage/high/';
}
alias $fpwd;
break;
}
}
nginx 实现文件下载 文件预览
最新推荐文章于 2025-06-19 13:35:10 发布