fastdfsDemo
package com.xpl.fastdfs;
import org.csource.common.NameValuePair;
import org.csource.fastdfs.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
@RequestMapping("/upload")
public class UploadController {
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public Object upload(@RequestParam MultipartFile file) {
try {
if(file.isEmpty()){
return "空上传";
}else{
//blog.csdn.net/moshowgame
String conf_filename = this.getClass().getClassLoader().getResource("fast_dfs.conf").getPath().replaceAll("%20"," ");
System.out.println(conf_filename);
String tempFileName = file.getOriginalFilename();
//fastDFS方式
ClientGlobal.init(conf_filename);
byte[] fileBuff = file.getBytes();
String fileId = "";
String fileExtName = tempFileName.substring(tempFileName.lastIndexOf("."));
//建立连接
TrackerClient tracker = new TrackerClient();
TrackerServer trackerServer = tracker.getConnection();
StorageServer storageServer = tracker.getStoreStorage(trackerServer);
StorageClient1 client = new StorageClient1(trackerServer, storageServer);
//设置元信息
NameValuePair[] metaList = new NameValuePair[3];
metaList[0] = new NameValuePair("fileName", tempFileName);
metaList[1] = new NameValuePair("fileExtName", fileExtName);
metaList[2] = new NameValuePair("fileLength", String.valueOf(file.getSize()));
//上传文件,获得fileId
fileId = client.upload_file1(fileBuff, fileExtName, metaList);
//TODO 这里可以追加一些业务代码,例如上传成功后保存到upload_file表,统一进行上传文件管理之类
System.out.println(fileId);
return "文件上传成功";
}
} catch (Exception e) {
e.printStackTrace();
return "上传错误:"+e.getMessage();
}
}
}
fastdfsDemo的更多相关文章
- FastDFS实现文件上传下载实战
正好,淘淘商城讲这一块的时候,我又想起来当时老徐让我写过一个关于实现FastDFS实现文件上传下载的使用文档,当时结合我们的ITOO的视频系统和毕业论文系统,整理了一下,有根据网上查到的知识,总结了一 ...
- FastDFS分布文件系统Java客户端集成
参考博客:http://blog.csdn.net/xyang81/article/details/52847311 官网Java客户端源代码: https://github.com/happyfis ...
- FastDFS简单入门小demo
图片上传 需要引入 FastDFS 相关的jar包,但是这个jar没有在中央仓库,所以还得需要找到这个jar手动安装到自己的本地仓库才能使用. 需要一个配置文件 fdfs_client.conf ...
- fastdfs5.x Java客户端简单例子
下载源码, 使用maven编译并安装 https://github.com/happyfish100/fastdfs-client-java.git 新建maven工程,引入fastdfs-clien ...
- 富文本编辑器和fastdfs的使用
宜立方商城的系统架构a) 功能介绍(项目架构,有哪些功能模块,这些功能模块如何实现?)b) 架构讲解工程搭建-后台工程c) 使用maven搭建工程(后台工程如何搭建?)d) 使用maven的tomca ...
- fastdfs-client-java操作fastdfs
一.在https://github.com/happyfish100/fastdfs-client-java 下载客户端,解压后并执行ant命令,在E:\tools\libs\fastdfs\fast ...
- FastDfs java客户端上传、删除文件
#配置文件 connect_timeout = 2 network_timeout = 30 charset = UTF-8 http.tracker_http_port = 9090 http.an ...
- fastDFS的入门程序
导入jar包 <dependency> <groupId>cn.bestwu</groupId> <artifactId>fastdfs-client- ...
- 从入门到精通(分布式文件系统架构)-FastDFS,FastDFS-Nginx整合,合并存储,存储缩略图,图片压缩,Java客户端
导读 互联网环境中的文件如何存储? 不能存本地应用服务器 NFS(采用mount挂载) HDFS(适合大文件) FastDFS(强力推荐
随机推荐
- JavaWeb之DButils整理
一.DBUtils介绍 apache 什么是dbutils,它的作用 DBUtils是java编程中的数据库操作实用工具,小巧简单实用. 用前导包!!!DBUtils包!!! 二.DBUtils的三 ...
- Linux命令_cp
1.复制文件夹 将目录src复制到dest目录下,复制好后,dest/src: cp -r src dest 将目录src下的内容复制到dest目录下: cp -r src/* dest
- Nuxt.js笔记
前置知识 SSR服务器渲染 Vue SSR(server side rendering)服务端渲染 和 Vue SPA(single page application)单页应用 Vue SSR-> ...
- mesbox公告加更新控制
0为不显示,1为显示~~~~0|友情提示:任何时候,不要相信福利软件,福利网站,不乱接收别人发的的任何文件,如需使用军旗有关产品,请至官方群或官方网站下载!!|183|173~~~~162,1651, ...
- Contest2163 - 2019-3-28 高一noip基础知识点 测试6 题解版
传送门 @dsfz201814 改题 T1:全锕,过 T2:全锕,过 T3:@dsfz201814 先用竖着放置的木块将它变成高度差最大为1的数列 然后对于任意相邻相等的两块,可以将它看成任意 例如, ...
- mysql:The user specified as a definer ('xxx'@'%') does not exist 解决方法
发生这种问题.大概率是用户不存在或者是权限不够 用户不存在.用可视化工具新建一个. 权限不够 ,运行下面命令: 如:我的错误: The user specified as a definer ('mo ...
- 软件测试为什么需要学习Linux的知识?Linux学到什么程度?-log5
软件测试为什么需要学习Linux的知识?学到什么程度?-log5 Dotest软件测试学堂-董浩 公司目前90%的服务器操作系统不是Windows,而是Linux(RedHat.Debian.Cen ...
- application.properties 文件和 application.yml 文件的区别
yml文件的好处,天然的树状结构,方便查看,最终会转成application.properties 注意点: 1,原有的key,例如spring.jpa.properties.hibernate.di ...
- expect 批量自动部署ssh 免密登陆 之 二
#!/usr/bin/expect -f ########################################## hutu #Push the id.pas.pub public key ...
- 小程序:navigateBack()修改数据
1.获取当前页面js里面的pages里的所有信息var pages = getCurrentPages(); 2. -2上一个页面 -3是上上个页面 var prevPage = pages[p ...