FastFDS图片上传的实现,然后封装工具类

1,在别人哪里获取一个Centos的经过配置的虚拟机,里边有配置好的
tracker和storage等,他们配置文件里都有对ip的设置,所以我们在设置网卡的时候要和人家的ip一模一样,
在这里插入图片描述
所以设置的VMnet8的静态ip时要个这个虚拟机在一个网段,然后再进行访问就可以了。
注意:如果你要自己设置Ip的话,就需要改人家给你安装好的软件的配置文件,我不想去改配置文件,所以选择把ip设置成和别人的一摸一样。
2,代码编写
client.conf文件

tracker_server=192.168.25.133:22122
public static void main(String[] args) throws IOException, MyException {
        //获取配置文件(只支持绝对路径)
        ClientGlobal.init("D://study//e3-manager-web//src//main//resources//config//client.conf");
        //获取Tracker客户端对象
        TrackerClient trackerClient=new TrackerClient();
        //获取服务
        TrackerServer trackerServer = trackerClient.getConnection();
        StorageServer storageServer=null;
        //获取Storage客户端
        StorageClient storageClient=new StorageClient(trackerServer,storageServer);
        System.out.println(storageClient);
        //上传
        String[] info = storageClient.upload_file("H://develope//9a80e2d06170b6bb01046233ede701b3.jpg", "jpg", null);
        //获取返回来的信息
        for (String string:info) {
            System.out.println(string);
        }
    }

3,根据返回的两组信息拼接,实现如下在这里插入图片描述
4,FastFDS工具类封装(如果不编写工具类,每次文件上传都会有大量的重复代码)

package cn.e3mall.common.utils;


import org.csource.fastdfs.*;
import org.csource.common.NameValuePair;
public class FastDFSClient {

	private TrackerClient trackerClient = null;
	private TrackerServer trackerServer = null;
	private StorageServer storageServer = null;
	private StorageClient1 storageClient = null;
	
	public FastDFSClient(String conf) throws Exception {
		if (conf.contains("classpath:")) {
			conf = conf.replace("classpath:", this.getClass().getResource("/").getPath());
		}
		ClientGlobal.init(conf);
		trackerClient = new TrackerClient();
		trackerServer = trackerClient.getConnection();
		storageServer = null;
		storageClient = new StorageClient1(trackerServer, storageServer);
	}
	
	/**
	 * 上传文件方法
	 * <p>Title: uploadFile</p>
	 * <p>Description: </p>
	 * @param fileName 文件全路径
	 * @param extName 文件扩展名,不包含(.)
	 * @param metas 文件扩展信息
	 * @return
	 * @throws Exception
	 */
	public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception {
		String result = storageClient.upload_file1(fileName, extName, metas);
		return result;
	}
	
	public String uploadFile(String fileName) throws Exception {
		return uploadFile(fileName, null, null);
	}
	
	public String uploadFile(String fileName, String extName) throws Exception {
		return uploadFile(fileName, extName, null);
	}
	
	/**
	 * 上传文件方法
	 * <p>Title: uploadFile</p>
	 * <p>Description: </p>
	 * @param fileContent 文件的内容,字节数组
	 * @param extName 文件扩展名
	 * @param metas 文件扩展信息
	 * @return
	 * @throws Exception
	 */
	public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception {
		
		String result = storageClient.upload_file1(fileContent, extName, metas);
		return result;
	}
	
	public String uploadFile(byte[] fileContent) throws Exception {
		return uploadFile(fileContent, null, null);
	}
	
	public String uploadFile(byte[] fileContent, String extName) throws Exception {
		return uploadFile(fileContent, extName, null);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值