FastDFS使用之修改下载文件名称

解决方法

通过在项目中多次尝试,找到一种较简单的实现方法,实现过程如下:

一. 应用系统在上传文件到FastDFS成功时将原始文件名和“文件索引(FID)”保存下来(例如:保存到数据库)。

二. 用户点击下载的时用Nginx的域名和FID拼出url,然后在url后面增加一个参数,指定原始文件名。例如:http://121.14.161.48:9030/group2/M00/00/89/eQ6h3FKJf_PRl8p4AUz4wO8tqaA688.apk?attname=filename.apk

三. 在Nginx上进行如下配置,这样Nginx就会截获url中的参数attname,在Http响应头里面加上字段 Content-Disposition “attachment;filename=$arg_attname”。

 

location /group2/M00 { root /data/store/data; if ($arg_attname ~ "^(.*).apk") { add_header Content-Disposition "attachment;filename=$arg_attname"; } ngx_fastdfs_module; }

 

 

-----------------------------------------------------------------------

 

通过nginx请求文件时,url后面带了filename参数设置返回的文件名。

但是当文件名过长时报错:

 

ERROR - file: /usr/local/fastdfs-nginx-module/src/common.c, line: 614, uri length: 276 is too long, >= 256

修改该文件中对文字长度的限制

 

 

-------------

 

nginx开启预览

autoindex on;

 

gitlab 的守护线程 重启nginx命令

gitlab-ctl restart nginx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值