1. 程式人生 > >FastDFS圖片服務器

FastDFS圖片服務器

test system 技術 x86 out 安裝 ogr src upload

首先要轉一個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); } }

客戶端返回

技術分享圖片

瀏覽器訪問

技術分享圖片

FastDFS圖片服務器