基于FastDFS在SpringBoot上的上传与下载
方法:
1.在application.properties里设置参数,其中tracker-list是tracker的端口
fdfs.so-timeout=
fdfs.connect-timeout=
fdfs.tracker-list=192.168.118.12:
2.导包,使用Maven进行导包依赖
<!-- FastDFS -->
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>1.26.</version>
</dependency>
3.编写上传页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>pageurl:fileUploadPage</title>
</head>
<body>
<div align="center">
<h1>上传文件</h1>
<form action="solveUpload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">提交</button>
</form>
</div>
</body>
</html>
4.注入FastFileStorageClient对象
@Autowired
FastFileStorageClient fc;
5.编写上传和下载方法
上传:
@RequestMapping("solveUpload")
@ResponseBody
public String solveUpload(@RequestParam("file")MultipartFile file) throws IOException {
Set<MetaData> metaDataSet=new HashSet<>();//设置metaDataSet文件头元数据
metaDataSet.add(new MetaData("Author", "littlepage"));
metaDataSet.add(new MetaData("CreateDate","2019-7-24"));
StorePath uploadFile=fc.uploadFile(file.getInputStream(),file.getSize(),
file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+),
metaDataSet);//上传直接返回数据,这边简略了关于路径保存数据库,直接返回路径
return uploadFile.getPath();
}
下载:
@RequestMapping("apic")
@ResponseBody
public ResponseEntity<byte[]> down(HttpServletResponse resp){
HttpHeaders httpHeaders=new HttpHeaders();//new出一个httpHeader对象
httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);//设置Media类型为直接下载类型
httpHeaders.setContentDispositionFormData("name", "aa.png");//设置名字和文件名
byte[] bs=fc.downloadFile("group1", "M00/00/00/wKh2DF03SZiAQvM4AADNi5XjeDQ722.png",
new DownloadByteArray());//下载
return new ResponseEntity<>(bs,httpHeaders,HttpStatus.OK);//返回封装实体
}
基于FastDFS在SpringBoot上的上传与下载的更多相关文章
- 【转载】【JAVA秒会技术之图片上传】基于Nginx及FastDFS,完成图片的上传及展示
基于Nginx及FastDFS,完成商品图片的上传及展示 一.传统图片存储及展示方式 存在问题: 1)大并发量上传访问图片时,需要对web应用做负载均衡,但是会存在图片共享问题 2)web应用服务器的 ...
- springboot整合fastdfs实现上传和下载
FastDFS_Client源码 https://github.com/tobato/FastDFS_Client 友情提示:由于FastDFS_Client这个源码不是很多,并且目前没有找到相关文档 ...
- SpringBoot集成基于tobato的fastdfs-client实现文件上传下载和删除
1. 简介 基于tobato的fastdfs-client是一个功能完善的FastDFS客户端工具,它是在FastDFS作者YuQing发布的客户端基础上进行了大量的重构,提供了上传.下载.删除. ...
- FastDFS文件的上传和下载
一.FastDFS概述: FastDFS是一个开源的轻量级分布式文件系统,他对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.下载)等,解决了大容量存储和负载均衡的问题,高度追求高性能 ...
- SpringBoot 整合文件上传 elment Ui 上传组件
SpringBoot 整合文件上传 elment Ui 上传组件 本文章记录 自己学习使用 侵权必删! 前端代码 博主最近在学 elment Ui 所以 前端使用 elmentUi 的 upload ...
- Resumable.js – 基于 HTML5 File API 的文件上传
Resumable.js 是一个 JavaScript 库,通过 HTML5 文件 API 提供,稳定和可恢复的批量上传功能.在上传大文件的时候通过每个文件分割成小块,每块在上传失败的时候,上传会不断 ...
- 基于h5的图片无刷新上传(uploadifive)
基于h5的图片无刷新上传(uploadifive) uploadifive简介 了解uploadify之前,首先了解来一下什么是uploadify,uploadfy官网,uploadify和uploa ...
- 基于jsp的文件上传和下载
参考: 一.JavaWeb学习总结(五十)--文件上传和下载 此文极好,不过有几点要注意: 1.直接按照作者的代码极有可能listfile.jsp文件中 <%@taglib prefix=&qu ...
- SpringBoot整合阿里云OSS文件上传、下载、查看、删除
1. 开发前准备 1.1 前置知识 java基础以及SpringBoot简单基础知识即可. 1.2 环境参数 开发工具:IDEA 基础环境:Maven+JDK8 所用技术:SpringBoot.lom ...
随机推荐
- @清晰掉 malloc是如何分配内存的?
任何一个用过或学过C的人对malloc都不会陌生.大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉.但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至 ...
- scss 用法 及 es6 用法讲解
scss 用法的准备工作,下载 考拉 编译工具 且目录的名字一定不能出现中文,哪里都不能出现中文,否则就会报错 es6 用法 let 和 const let 声明变量的方式 在 {} 代码块里面才 ...
- leetcode-mid-math-172. Factorial Trailing Zeroes-NO-????
mycode 问题:为甚在小于200的时候,答案ok,大于等于200的时候,就少一个1??? class Solution(object): def trailingZeroes(self, n): ...
- WPF/UWP 模板选择器 DataTemplateSelector
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- C#中winform下利用ArcEngine调用ArcGIS Server发布的服务 AE 10
开发环境:vs2010 + AE 10 测试 public Form1() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engi ...
- 阶段3 1.Mybatis_12.Mybatis注解开发_6 mybatis注解开发一对一的查询配置
新建Account实体类 生成getter和setter还有toString方法 先创建dao类 全局的配置,这里要改成package 创建多对一的关系 在查询的时候输出user这个对象的内容 建立查 ...
- Jmeter接口测试系列之判断测试结果
在使用jmeter进行接口测试时,我们需要根据测试用例判断其测试结果是否一致,判断其执行是否成功. 在jmeter中也可以使用响应断言去判断,但是有时我们需要根据不同的用例,其判断条件不同,所以这里我 ...
- 2.转发。基于itchat的微信消息同步机器人
原文:https://www.jianshu.com/p/7aeadca0c9bd# 看到了该网址有基于itchat的微信消息同步机器人,转过来继续研究.以下是转过来的: 最近 全栈数据工程师养成攻略 ...
- python3 基本数据类型_2
#!/usr/bin/python3 #以下set,dict的方法py2无法运行 #创建set 集合,使用大括号 { } 或者 set() 函数创建 #注意:创建一个空集合必须用 set() 而不是 ...
- Django 优秀资源大全
版权: https://github.com/haiiiiiyun/awesome-django-cn 转自:https://www.jianshu.com/p/38c4dd6d8e28 Awesom ...