ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

文件上传+Fastdfs

2020-02-29 19:04:56  阅读:227  来源: 互联网

标签:文件 Fastdfs 虚拟机 fastdfs client conf fdfs 上传 源码


文件上传+Fastdfs

1、Fastdfs

概念:

  • FastDFS是一套高性能的文件服务器集群,他提供了文件上传、下载等服务。(用他对文件进行统一的处理,一般在微服务中我们把它用来对图片进行统一的处理,他就是一个单独的微服务)

1.1 linux操做系统安装(配置)fastdfs

一般使用 fastdfs都是在linux上进行操做的(相当于在linux上安装fastdfs,然后再把图片上传到fastdfs)

  • 配置Fastdfs(在linux上进行cmd终端,执行以下命令)

1.修改client.conf

vi /etc/fdfs/client.conf -> 把ip修改为当前虚拟机ip

2.修改storage.conf

vi /etc/fdfs/storage.conf -> 把ip修改为当前虚拟机ip

3.启动fastdfs

#注意这里两个都要启动

service fdfs_trackerd start
service fdfs_storaged start

4.查看是否启动成功

netstat -unltp|grep fdfs

5.查看监控信息

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

6.启动Nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

7.关闭防火墙/开放防火墙 80 端口

service iptables stop

或者执行:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

/etc/rc.d/init.d/iptables save

注意:网络使用的是桥接模式

8.测试Nginx

在虚拟机里面: curl http://127.0.0.1:80

在宿主机测试:浏览器访问 http://127.0.0.1:80

9.测试上传(上传到fastdfs)

fdfs_test /etc/fdfs/client.conf upload /root/虚拟机里面的图片.jpg

1.2 java代码Hello的简单测试

1、打jar包

  • 手动到网上去下载源码然后将源码打jar包到maven仓库

源码地址:https://github.com/happyfish100/fastdfs-client-java

  • 将这个源码下载完后进入根目录里面然后cmd执行下面的命令,就能自动进行打包

使用maven从源码安装:mvn clean install

2、导包

<dependency>
    <groupId>org.csource</groupId>
    <artifactId>fastdfs-client-java</artifactId>
    <version>1.29-SNAPSHOT</version>
</dependency>

3、添加配置文件fdfs_client.conf ,将其中的服务器地址设置为虚拟机ip.22122(后面的不是端口)
//…
tracker_server=192.168.25.133:22122
//…

 // 1、加载配置文件,配置文件中的内容就是 tracker 服务的地址。
		ClientGlobal.init("D:/maven_work/fastDFS-demo/src/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:/pic/benchi.jpg", "jpg",
				null);
		// 7、返回数组。包含组名和图片的路径。
		for (String string : strings) {
			System.out.println(string);
		}

控制台输出如下结果:

group1
M00/00/00/wKgZhVkMP4KAZEy-AAA-tCf93Fo973.jpg

在浏览器输入:

http://192.168.25.133/group1/M00/00/00/wKgZhVkMP4KAZEy-AAA-tCf93Fo973.jpg

weixin_45028726 发布了20 篇原创文章 · 获赞 4 · 访问量 2093 私信 关注

标签:文件,Fastdfs,虚拟机,fastdfs,client,conf,fdfs,上传,源码
来源: https://blog.csdn.net/weixin_45028726/article/details/104579427

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有