FastDFS入門小Demo

LililililililMeng發表於2020-09-25

需求:將本地圖片上傳至圖片伺服器,再控制檯列印url
1.pom.xml中引入

<dependency>
    <groupId>cn.bestwu</groupId>
    <artifactId>fastdfs-client-java</artifactId>
    <version>1.27</version>
</dependency>

2.新增配置檔案fdfs_client.conf ,將其中的伺服器地址假定設定為192.168.188.146
#tracker伺服器IP地址和埠號
tracker_server=192.168.188.146:22122

package fastDFSdemo;
import java.io.IOException;
import org.csource.common.MyException;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
public class TestStorageClient {

	public static void main(String[] args) throws IOException, MyException {
        // 1、載入配置檔案,配置檔案中的內容就是 tracker 服務的地址。
		ClientGlobal.init("./src/main/resources/fdfs_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("D:/chart/2.jpg", "jpg",
				null);
		// 7、返回陣列。包含組名和圖片的路徑。
		for (String string : strings) {
			System.out.println(string);
		}
	}
}

注意:如果出現連線圖片伺服器超時失敗的情況,請檢查圖片linux伺服器是否啟動、是否開啟了埠22122、23000的防火牆埠,如果未開啟需要開啟。

firewall-cmd --add-port=22122/tcp --permanent
firewall-cmd --add-port=23000/tcp --permanent
firewall-cmd --reload

相關文章