一、需求描述
系统需要提供文件(pdf、图片)等上传后支持预览功能。
二、实现方式
2.1 文件权限配置
chmod a+rwx -R public/
- chmod 是更改文件权限的命令。
- -R 是递归选项,表示更改目录及其所有子目录和文件的权限。
- a+rwx 是权限设置,其中 a 表示所有用户,r 表示读权限,w 表示写权限,x 表示执行权限。
2.2 nginx配置改造
location /uploads/ {
alias /www/server/java_programs/demo/public/uploads/; # 路径重定向
autoindex off; # 是否允许列出目录内容
access_log on; # 开启访问日志
expires 30d; # 设置缓存过期时间
add_header Cache-Control "public";
}
2.3 示例
在浏览器中,直接通过:【域名/文件路径】的方式浏览服务器上的文件。
三、与另一种实现方式的比较
接口下载 | 文件路径访问 |
---|---|
不支持预览,但可以做权限控制 | 支持预览,但存在安全隐患,用户获取文件路径后,可以在公网上直接访问和下载 |