FastDFS安装及其他问题参考:https://www.cnblogs.com/jxd283465/p/11556263.html直接调用FastDFS返回的url,浏览器访问后默认打开方式。
/usr/bin/fdfs_test /etc/fdfs/client.conf upload test.jpg

文件下载方案

 1.调用download接口,定义下载的文件名

public void  download(String fileUrl, HttpServletResponse response) throws Exception{

    byte[] data = fdfsClient.download(fileUrl);

    response.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("test.7z", "UTF-8")); // 写出
ServletOutputStream outputStream = response.getOutputStream();
IOUtils.write(data, outputStream);
} 2.nginx反向代理增加请求头Content-disposition及attachment

server {
  listen 8082;
  server_name 192.168.8.200;
  location /group1/M00 {
    add_header Content-Disposition "attachment;filename=$arg_attname"; 
    ngx_fastdfs_module;
  }
  }

在upload接口中进行url拼接
fdfsClient.uploadFile(file) + "?attname=" + file.getOriginalFilename()

转:Nginx-Fastdfs根据入参判断为直接打开文件还是强制下载文件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40809549/article/details/81984798
场景需求:Fastdfs存储的文件,浏览器访问时默认为打开模式;部分文件要求强制为下载模式

解决办法:调整nginx配置,根据入参判断是否添加attachment,强制为下载模式

PS:调试时注意浏览器缓存干扰,建议关闭缓存:F12-Network 勾选Disable cache

Nginx根据入参判断文件是显示还是下载

location ~/group[0-9] {

if ( $query_string ~* ^(.*)parameter=config\b|1\b(.*)$ ){

add_header Content-Disposition "attachment;";

}

ngx_fastdfs_module;

}

原url访问时,浏览器直接打开文件;

后面跟参数“?parameter=1”时,加attachment,强制为下载模式

【linux】【FastDFS】FastDFS上传返回的url直接下载和下载文件的文件名问题的更多相关文章

  1. 百度富文本编辑器整合fastdfs文件服务器上传

    技术:springboot+maven+ueditor   概述 百度富文本整合fastdfs文件服务器上传 详细 代码下载:http://www.demodashi.com/demo/15008.h ...

  2. spring mvc ajaxfileupload文件上传返回json下载问题

    问题:使用spring mvc ajaxfileupload 文件上传在ie8下会提示json下载问题 解决方案如下: 服务器代码: @RequestMapping(value = "/ad ...

  3. linux下php上传文件注意

    linux下php上传文件注意1.修改上传目录权限linux 修改某目录下所有所有子目录权限chmod -R 777 html修改某目录为任何用户都用写读执行权限chmod a+rwx html2.设 ...

  4. linux sftp远程上传文件

    1.打开xshell 点击“新建文件传输”,如下图: 中间可能会出现下面的提示框,直接关掉即可: 2.切换到远程你要传输文件的目的地 命令:cd  你的路径 3.切换到本地文件所在目录 命令:lcd ...

  5. Linux使用SecureCRT上传下载

    操作远程 Linux 系统,很多时候选用 SecureCRT 软件,在 SecureCRT 环境下,使用 lrzsz 工具可以很方便的完成文件的上传下载. 这里使用的 Ubuntu Linux 安装: ...

  6. linux下如何上传和下载文件

    一. 安装工具包rz及sz lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,可以用在windows与linux 系统之间的文件传输,体积小速度快 yum install -y ...

  7. linux学习 XShell上传、下载本地文件到linux服务器

    (一)通过命令行的方式 1.linux服务器端设置 在linux主机上,安装上传下载工具包rz及sz; 如果不知道你要安装包的具体名称,可以使用yum provides */name 进行查找系统自带 ...

  8. linux使用命令上传下载文件 -- lrzsz

    之前都是用Xftp工具在本地和linux系统之间上传下载文件,最近觉得麻烦,因为平时用Xshell连接,要传输文件的时候还要额外使用别的工具,下面是lrzsz的安装和简单的使用过程: 详细的使用可以s ...

  9. Linux下的上传和下载yum install -y lrzsz

    先使用命令 yum install -y lrzsz rz 上传    或者直接拖动 sz 要下的文件 回车

随机推荐

  1. Java网络编程与NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector

    微信公众号[黄小斜]作者是蚂蚁金服 JAVA 工程师,目前在蚂蚁财富负责后端开发工作,专注于 JAVA 后端技术栈,同时也懂点投资理财,坚持学习和写作,用大厂程序员的视角解读技术与互联网,我的世界里不 ...

  2. fiddler抓HTTPS及APP请求的配置教程

    一.fiddler安装 Fiddler官网下载Fiddler进行安装:https://www.telerik.com/fiddler 二.fiddler设置抓取HTTPS的请求 fiddler默认设置 ...

  3. Python学习 之三 Python基础&运算符

    第三章:Python基础 & 运算符 3.1 内容回顾 & 补充 计算机基础 编码 字符串: "中国" "Hello" 字 符: 中 e 字 节 ...

  4. Python之高阶函数如何理解?

    我们先要了解一下什么是所谓的高阶函数: 看定义:什么是高阶函数? 高阶函数:我们知道一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足 ...

  5. 掌握 Maven 私服

    前言 在 Java EE 开发中,我们使用 Maven 构建工具主要来管理项目的第三方库的依赖,以及公司内部其他项目服务的依赖.因此 Maven 私服就是必不可少的一环,本文主要对 Maven 私服的 ...

  6. d3.js V5版本在vue里使用 自定义节点图片

    var width = this.$refs.topInfo.offsetWidth; var height = this.$refs.topInfo.offsetHeight; var img_w ...

  7. docker运行原理与使用总结

    docker运行原理概述 Client-Server架构 docker守护进程运行在宿主机上systemctl start docker daemon进程通过socket从客户端(docker命令)接 ...

  8. 同步vmware虚拟机和主机的时间

    1. 打开虚拟机->设置 2. 选择选项标签页,选中VMware Tools,勾选“将客户机时间与主机同步”

  9. CodeForces 834D The Bakery

    The Bakery 题意:将N个数分成K块, 每块的价值为不同数字的个数, 现在求总价值最大. 题解:dp[i][j] 表示 长度为j 且分成 i 块的价值总和. 那么 dp[i][j] = max ...

  10. Codeforces 374 C Inna and Dima (DFS)

    Inna and Dima 题意:从图上的任意一个D点按着DIMADIMA的顺序走,问一共可以经过多少个DIMA,如果经过0个DIMA就输出“Pool DIma!“,如果可以有无数多个DIMA就输出” ...