首先要转一个FastDFS,这个很难装。一般由运维人员安装。

git项目fastdfs-client-java由happy fish开发的,down下来后import到项目中maven install到本地仓库即可

package com.common.utils;

import org.csource.common.NameValuePair;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient1;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;

/*
* 工具类
*/
public class FastDFSClient { private TrackerClient trackerClient = null;
private TrackerServer trackerServer = null;
private StorageServer storageServer = null;
private StorageClient1 storageClient = null; public FastDFSClient(String conf) throws Exception {
if (conf.contains("classpath:")) {
conf = conf.replace("classpath:", this.getClass().getResource("/").getPath());
}
ClientGlobal.init(conf);
trackerClient = new TrackerClient();
trackerServer = trackerClient.getConnection();
storageServer = null;
storageClient = new StorageClient1(trackerServer, storageServer);
} /**
* 上传文件方法
* <p>Title: uploadFile</p>
* <p>Description: </p>
* @param fileName 文件全路径
* @param extName 文件扩展名,不包含(.)
* @param metas 文件扩展信息
* @return
* @throws Exception
*/
public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception {
String result = storageClient.upload_file1(fileName, extName, metas);
return result;
} public String uploadFile(String fileName) throws Exception {
return uploadFile(fileName, null, null);
} public String uploadFile(String fileName, String extName) throws Exception {
return uploadFile(fileName, extName, null);
} /**
* 上传文件方法
* <p>Title: uploadFile</p>
* <p>Description: </p>
* @param fileContent 文件的内容,字节数组
* @param extName 文件扩展名
* @param metas 文件扩展信息
* @return
* @throws Exception
*/
public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception { String result = storageClient.upload_file1(fileContent, extName, metas);
return result;
} public String uploadFile(byte[] fileContent) throws Exception {
return uploadFile(fileContent, null, null);
} public String uploadFile(byte[] fileContent, String extName) throws Exception {
return uploadFile(fileContent, extName, null);
}
} /**
* 测试
*/
public class FastDFSTest {
@Test
public void testFileUpload() throws Exception {
// 1、加载配置文件,配置文件中的内容就是tracker服务的地址。
ClientGlobal.init("D:\\Programmer_QY\\eclipse-jee-mars-2-win32-x86_64\\workspace\\e3-manager-web\\src\\main\\resources\\conf\\client.conf");
// 2、创建一个TrackerClient对象。直接new一个。
TrackerClient trackerClient = new TrackerClient();
// 3、使用TrackerClient对象创建连接,获得一个TrackerServer对象。
TrackerServer trackerServer = trackerClient.getConnection();
// 4、创建一个StorageServer的引用,值为null
StorageServer storageServer = null;
// 5、创建一个StorageClient对象,需要两个参数TrackerServer对象、StorageServer的引用
StorageClient storageClient = new StorageClient(trackerServer, storageServer);
// 6、使用StorageClient对象上传图片。
// 扩展名不带“.”
String[] strings = storageClient.upload_file("G:\\秋雨\\相机\\小猪\\QQ图片20160501233001.jpg", "jpg",
null);
// 7、返回数组。包含组名和图片的路径。
for (String string : strings) {
System.out.println(string);
}
}
@Test
public void textFastDfsClient() throws Exception{
FastDFSClient fastDFSClient = new FastDFSClient("D:\\Programmer_QY\\eclipse-jee-mars-2-win32-x86_64\\workspace\\e3-manager-web\\src\\main\\resources\\conf\\client.conf");
String result = fastDFSClient.uploadFile("G:\\秋雨\\相机\\头像\\3226-150PR30508-52.jpg");
System.out.println(result);
}
}

客户端返回

浏览器访问

最新文章

  1. 用.htaccess文件实现URL重写
  2. 网站压力负载测试工具:Web版已逝,只好送大伙单机版
  3. dom4j读取某个元素的某个属性
  4. windows系统中WIN键的快捷组合
  5. CSS3选择器的研究,案例
  6. 同一内网不能网段ping 不通
  7. Nginx 启用gzip压缩
  8. VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录
  9. Checked&amp;Unchecked Exception
  10. 三、FreeMarker 模版开发指南 第三章 模版
  11. javaweb学习总结十(xml解析&lt;SAX以及DOM方式&gt;)
  12. 【HDOJ】1695 GCD
  13. hdu4666 最远曼哈顿距离
  14. (转) dedecms中自定义数据模型
  15. Sass运算
  16. Linux 二层协议架构组织
  17. Ubuntu16.04 install OpenJDK8
  18. SQLSERVER性能调优小技巧
  19. python+selenium一:对浏览器的操作
  20. Windows打开应用,提示“此程序被组策略阻止”

热门文章

  1. Oracle获取当前session ID的方法
  2. win7 64bits下编译libjpeg库
  3. vim初级命令
  4. .net:Code First 创建或更新数据库
  5. [转]linux内核分析笔记----内存管理
  6. 屏蔽信号的多路选择I/O
  7. 巨坑:jqgrid竟然取不到编辑模式下input的值
  8. oppo R9 WLAN使用代理图解
  9. 1.1_Django简介及安装
  10. [翻译]小提示:使用figure和figcaption元素的正确方式