当前位置:网站首页>A quick start to fastdfs takes you three minutes to upload and download files to the ECS
A quick start to fastdfs takes you three minutes to upload and download files to the ECS
2022-07-04 21:16:00 【Wang Fugui who lost his hair】
Prerequisite ,linux install fastdfs, If it is not installed, please check the previous blog article to install , Otherwise it can't go on .
https://blog.csdn.net/csdnerM/article/details/125179633
First step , Download the source file
Download address :https://codeload.github.com/happyfish100/fastdfs-client-java/zip/master
After decompression, it is a source file , So we need to pack it into one jar Pack and in your own maven Warehouse dereference .
The second step ,maven Quote in the project
After packaging, we see that the version is 1.29-SNAPSHOT
, So we are maven Introduction in :
The third step , To write fastdfs.conf file :
tracker_server=127.0.0.1:22122
Fill in your server's ip and fastdfs The port of
Step four , Write a tool class , Realize the upload function
public static void upload() {
TrackerServer ts = null;
StorageServer ss = null;
StorageClient sc = null;
try {
// Load profile , The purpose is to get all TrackerServer Address information for
ClientGlobal.init("fastdfs.conf");
TrackerClient tc = new TrackerClient();
ts = tc.getTrackerServer();
ss = tc.getStoreStorage(ts);
// establish Storage Client object of , You need to use this object to operate FastDFS, Upload, download and delete files
sc = new StorageClient(ts, ss);
// Upload files to FastDFS
// Parameters 1 The absolute path of the file to be uploaded on the local disk
// Parameters 2 Is the extension of the file to be uploaded
// Parameters 3 The attribute file for the file to be uploaded is usually null Do not upload , The attributes of these files, such as file size and type, usually need to be recorded in the database
// Returns an array of strings , The data in this array is very important and must be kept properly
// Be careful : The first element in this array is where the file is located FastDFS Group name , The second element is the file in FastDFS Remote file name in
// These two data usually need to be written into the database
String[] result = sc.upload_file("/Users/wangfugui/Downloads/20220529151321.png", "png", null);
for (String str : result) {
System.out.println(str);
}
} catch (IOException e) {
e.printStackTrace();
} catch (MyException e) {
e.printStackTrace();
} finally {
if (sc != null) {
try {
sc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Step five , Write the download method
public static void download() {
TrackerServer ts = null;
StorageServer ss = null;
StorageClient sc = null;
try {
// Load profile , The purpose is to get all TrackerServer Address information for
ClientGlobal.init("fastdfs.conf");
TrackerClient tc = new TrackerClient();
ts = tc.getTrackerServer();
ss = tc.getStoreStorage(ts);
// establish Storage Client object of , You need to use this object to operate FastDFS, Upload, download and delete files
sc = new StorageClient(ts, ss);
int downloadFile = sc.download_file("group1", "M00/00/00/rBJzqmKgR4OACNHEABeAcCmFn1g961.png", "/Users/wangfugui/Downloads/ss.png");
System.out.println(downloadFile);
} catch (IOException e) {
e.printStackTrace();
} catch (MyException e) {
e.printStackTrace();
} finally {
try {
if (sc != null) {
sc.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Step six , Write deletion method
public static void delete() {
TrackerServer ts = null;
StorageServer ss = null;
StorageClient sc = null;
try {
// Load profile , The purpose is to get all TrackerServer Address information for
ClientGlobal.init("fastdfs.conf");
TrackerClient tc = new TrackerClient();
ts = tc.getTrackerServer();
ss = tc.getStoreStorage(ts);
// establish Storage Client object of , You need to use this object to operate FastDFS, Upload, download and delete files
sc = new StorageClient(ts, ss);
int deleteFile = sc.delete_file("group1", "M00/00/00/rBJzqmKgR4OACNHEABeAcCmFn1g961.png");
System.out.println(deleteFile);
} catch (IOException e) {
e.printStackTrace();
} catch (MyException e) {
e.printStackTrace();
} finally {
try {
if (sc != null) {
sc.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Step seven , To write main Method to test
After uploading, an array is returned , What's inside looks like this :
group1
M00/00/00/rBJzqmKgR4OACNHEABeAcCmFn1g961.png
Let's go to the /00/00/ Look inside the folder :
Delete method , Pass in the group name and file path , You will find that the files in the server have been deleted ,
The download method passes in the group name and file path and local path , You can find that the download is successful :
Warehouse address :
边栏推荐
猜你喜欢
仿ps样式js网页涂鸦板插件
[1200. Différence absolue minimale]
杰理之AD 系列 MIDI 功能说明【篇】
The video sound of station B is very low - solution
Huawei ENSP simulator enables devices of multiple routers to access each other
杰理之AD 系列 MIDI 功能说明【篇】
Idea restore default shortcut key
6月“墨力原创作者计划”获奖名单公布!邀您共话国产数据库
HWiNFO硬件检测工具v7.26绿色版
偷窃他人漏洞报告变卖成副业,漏洞赏金平台出“内鬼”
随机推荐
y56.第三章 Kubernetes从入门到精通 -- 业务镜像版本升级及回滚(二九)
[micro service SCG] use of predict
Go notes (3) usage of go language FMT package
实战模拟│JWT 登录认证
async await 在map中使用
Remember to build wheels repeatedly at one time (the setting instructions of obsidian plug-in are translated into Chinese)
Automatic generation of interface automatic test cases by actual operation
render函数与虚拟dom
哈希表、哈希函数、布隆过滤器、一致性哈希
[buuctf.reverse] 151_[FlareOn6]DnsChess
宝塔 7.9.2 宝塔控制面板绕过 手机绑定认证 绕过官方认证
[observation] Lenovo: 3x (1+n) smart office solution, releasing the "multiplier effect" of office productivity
The video sound of station B is very low - solution
heatmap.js图片热点热力图插件
阿里云国际版CDN的优势
【1200. 最小绝对差】
Y56. Chapter III kubernetes from entry to proficiency -- business image version upgrade and rollback (29)
网件r7000梅林系统5g不稳定 5g信号经常掉线解决方法
华为ensp模拟器 三层交换机
Redis:Redis配置文件相关配置、Redis的持久化