Java fastdfs客戶端實現(xiàn)上傳下載文件
一、項目結(jié)構(gòu)

二、pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>A01fastdfs</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/net.oschina.zcx7878/fastdfs-client-java -->
<dependency>
<groupId>net.oschina.zcx7878</groupId>
<artifactId>fastdfs-client-java</artifactId>
<version>1.27.0.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.9</source>
<target>1.9</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
三、fastdfs-client.properties
#http連接超時時間
fastdfs.connect_timeout_in_seconds=5
#tracker和storage網(wǎng)絡(luò)通信超時時間
fastdfs.network_timeout_in_seconds=30
#字符編碼
fastdfs.charset=utf-8
#tracker服務(wù)器地址,多個地址中間用英文逗號分隔
fastdfs.tracker_servers=192.168.2.105:22122
四、測試
package com.wuxi.test;
import org.csource.fastdfs.*;
import org.junit.Test;
import java.io.File;
import java.io.FileOutputStream;
public class MyTest {
//上傳文件
@Test
public void testUpload() {
try {
//加載fastdfs-client.properties配置文件
ClientGlobal.initByProperties("config/fastdfs-client.properties");
//定義TrackerClient,用于請求TrackerServer
TrackerClient trackerClient = new TrackerClient();
//連接tracker
TrackerServer trackerServer = trackerClient.getConnection();
//獲取storage
StorageServer storeStorage = trackerClient.getStoreStorage(trackerServer);
//創(chuàng)建storageClient
StorageClient1 storageClient1 = new StorageClient1(trackerServer, storeStorage);
//向storage服務(wù)器上傳文件
//本地文件的路徑
String path = "F:/java/resource/data.txt";
//上傳成功后拿到文件Id
String fileId = storageClient1.upload_file1(path, "txt", null);
System.out.println(fileId);//group1/M00/00/00/wKgCaV9vaSaARBTKAAAAGjJpL2g017.txt
} catch (Exception e) {
e.printStackTrace();
}
}
//下載文件
@Test
public void testDownload() {
try {
//加載fastdfs-client.properties配置文件
ClientGlobal.initByProperties("config/fastdfs-client.properties");
//定義TrackerClient,用于請求TrackerServer
TrackerClient trackerClient = new TrackerClient();
//連接tracker
TrackerServer trackerServer = trackerClient.getConnection();
//獲取storage
StorageServer storeStorage = trackerClient.getStoreStorage(trackerServer);
//創(chuàng)建storageClient
StorageClient1 storageClient1 = new StorageClient1(trackerServer, storeStorage);
//下載文件
//文件id
String fileId = "group1/M00/00/00/wKgCaV9vaSaARBTKAAAAGjJpL2g017.txt";
byte[] bytes = storageClient1.download_file1(fileId);
//使用輸出流保存文件
FileOutputStream fileOutputStream = new FileOutputStream(new File("F:/data.txt"));
fileOutputStream.write(bytes);
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java設(shè)計模式Ctrl?C和Ctrl?V的原型模式詳解
這篇文章主要為大家介紹了java設(shè)計模式Ctrl?C和Ctrl?V的原型模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02
老生常談JVM的內(nèi)存溢出說明及參數(shù)調(diào)整
下面小編就為大家?guī)硪黄仙U凧VM的內(nèi)存溢出說明及參數(shù)調(diào)整。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
使用java實現(xiàn)“釘釘微應(yīng)用免登進入某H5系統(tǒng)首頁“功能”
這篇文章主要介紹了用java實現(xiàn)“釘釘微應(yīng)用,免登進入某H5系統(tǒng)首頁“功能”,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10

