将fastDFS与Nginx整合好后,如何上传图片以及如何访问已经上传了的图片呢?
你还没有整合 参考
Centos 7+FastDFS与Nginx的整合教程
上传之前先对FastDFS框架做个介绍
FastDFS包括Tracker Server 和 Storage Server两服务组成, Tracker Server负责接收上传,下载请求,接收到请求后 经过内部调度最终由Storage Server 完成文件上传和下载
上传流程
1.向FastDFS发起长传请求
2.FastDFS服务器的Tracker Server 接收到请求
3.Tracker Server 查询可用的 storage Server
4.返回Storage Server 的信息(也就是入口)
5.根据返回信息将文件上传至Storage Server
6.Storage Server 接收文件并生成该文件的文件名
7.将上传的文件存入图片仓库
8.返回访问路径以及文件名
返回的路径信息结构
group1 M00/00/00/wKiGhVjvgZeAGkEYAABAzsFxnPs529.png
group1 组名:也就是文件上传所在的Storage组名称
M00 storage配置的虚拟路径 如果配置了Storage_path0则是M00
/00/00/ 这两级目录是系统自动创建的
wKiGhVjvgZeAGkEYAABAzsFxnPs529.png 由源储存服务器ip地址以及文件时间戳,文件大小,随机素等信息生成。
现在开始实现上传文件的功能
首先得有 fastdfs_client包
fastdfs_client-1.25.jar
创建配置文件fdfs.conf
内容就是tracker_server的地址
tracker_server=192.168.134.133:22122
然后开始写上传代码
public void upload() throws Exception {
// 向项目中添加jar包
// 创建一个配置文件配置tracker服务器地址
//加载配置文件
ClientGlobal.init("fdfs.conf");
//创建一个tracker客户端对象
TrackerClient trackerClient = new TrackerClient();
//使用trackerclient连接trackersever对象
TrackerServer trackerServer = trackerClient.getConnection();
//创建一个straged server对象
StorageServer storageServer = null;
//创建一个storage client 对象
StorageClient storageClient = new StorageClient(trackerServer, storageServer);
//利用storageclient对象上传图片
//参数一为文件所在的路径(不要有中文)
//参数二为文件的拓展名
//参数三为文件扩展信息
String[] upload_file = storageClient.upload_file("C:/Users/msi/Pictures/20170218090505.png", "png", null);
//upload_file 存储着访问路径
for(String s : upload_file){
System.out.println(s);
}
运行结果
group1
M00/00/00/wKiGhVjvgZeAGkEYAABAzsFxnPs529.png
本文介绍了在Centos系统中整合FastDFS和Nginx后,如何进行图片上传以及如何访问已上传图片的操作流程。首先,对FastDFS框架进行了简要介绍,接着详细阐述了图片上传的步骤,并提供了上传代码示例。

1万+

被折叠的 条评论
为什么被折叠?



