Fork me on GitHub

FastDFS图片服务器

首先要转一个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); } }

客户端返回

浏览器访问

 

posted @ 2018-05-08 15:23  秋夜雨巷  阅读(661)  评论(0编辑  收藏  举报