一般上传文件,都采用随机字符串,以防止重复,通过nginx方式下载文件,文件名也是字符串形式,用户看不懂。所以,可以配置nginx接收中文文件名参数。
配置如下:
location ~* .*\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jpg|png)(\?.*)?$ {
root /data/;
if ($request_uri ~* ^.*\/(.*)\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jpg|png)(\?n=([^&]+))$) {add_header Content-Disposition "attachment;filename=$arg_n.$2";
}
}
前端调用示例<a href="http://xxxx/abe124388884.txt?n=文件名">文件名.txt<a>