请教一下NGINX大屌

查看 109|回复 9
作者:simonw   
网站目录下有
/001/movie.mp4   影片文件
/001/title.txt  影片名称
怎么让浏览器下载movie.mp4的时候,保存为title.txt里的文件名。
如果用PHP读取文件再加个头输出是可以做到的,但是文件太大了。
有没有NGINX模块什么的能在下载的时候给加个头?

文件, 个头, 能在

hotket   
骚操作
HOH   
自己写个mod
Mr.   
换个思路
当请求 /001/文件名 的时候 rewrite 到 /001/movie.mp4
或者写个脚本创建 /001/文件名 的软连接到 /001/movie.mp4
woniu   
在 Nginx 中,可以使用 add_header 指令设置 Content-Disposition 响应头,让浏览器在下载影片文件时使用 title.txt 中的文件名。具体操作如下:
1. 在 Nginx 配置文件中找到存放影片文件的 location 块,添加以下配置:
[ol]location /001/ {
    add_header Content-Disposition "attachment; filename=title.txt";
}[/ol]复制代码
2. 保存配置文件并重新加载 Nginx。
这个配置会将影片文件所在的 /001/ 目录中所有的文件下载时使用 title.txt 中的文件名。
如果你想对单个文件进行设置,可以将 location 块中的 /001/ 替换为实际的文件路径。
simonw
OP
  

Mr. 发表于 2023-5-5 11:02
换个思路
当请求 /001/文件名 的时候 rewrite 到 /001/movie.mp4
或者写个脚本创建 /001/文件名 的软连接到 ...

都不太好
simonw
OP
  

woniu 发表于 2023-5-5 11:04
在 Nginx 中,可以使用 add_header 指令设置 Content-Disposition 响应头,让浏览器在下载影片文件时使用 t ...

感谢GPT
文件有几万个,改配置不太现实
woniu   

simonw 发表于 2023-5-5 11:06
感谢GPT
文件有几万个,改配置不太现实

那就写个脚本 批量改名吧 简单省事 绿色环保
pathletboy   
nginx lua自己加个脚本
liugogal   
如果在自己机器上同一个域名的话直接用 a href里的download属性就行了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部