分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

使用FastDfs 实现上传 及 删除

发布时间:2023-09-06 01:23责任编辑:胡小海关键词:暂无标签

package com.bjpowernode.p2p.admin.fastdfs;

import java.io.IOException;

import org.csource.common.MyException;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;

/**
 * fastdfs 文件上传
 *
 * @author  ldd
 *
 */
public class FastdfsClient {

    /**
     * 文件上传
     *
     * @param bytes  文件字节  
     * @param fileExtend  文件尾名  不需要.
     * @return
     */
    public static String[] uploadFile (byte[] bytes, String fileExtend) {
        
        TrackerServer trackerServer = null;
        StorageServer storageServer = null;
        
        //利用fastdfs客户端,实现文件上传到fastdfs服务器上
        try {
            //代码是模板式的
            //1、加载配置文件
            ClientGlobal.init("fastdfs_client.conf");
            
            //2、创建一个tracker的客户端
            TrackerClient trackerClient = new TrackerClient();
            
            //3、通过trackerClient获取一个连接,连接到Tracker,得到一个TrackerServer
            trackerServer = trackerClient.getConnection();
            
            //4、通过trackerClient获取一个存储节点的StorageServer
            storageServer = trackerClient.getStoreStorage(trackerServer);
            
            //5、通过trackerServer和storageServer构造一个Storage客户端
            StorageClient storageClient = new StorageClient(trackerServer, storageServer);
            
            return storageClient.upload_file(bytes, fileExtend, null);
            
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        } finally {
            try {
                //关闭服务,释放资源
                if (null != storageServer) {
                    storageServer.close();
                }
                if (null != trackerServer) {
                    trackerServer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
    
    /**
     * 文件上传
     *
     * @param bytes 本地文件名
     * @param fileExtend  文件末尾名 不要.
     * @return
     */
    public static String[] uploadFile (String localFile, String fileExtend) {
        
        TrackerServer trackerServer = null;
        StorageServer storageServer = null;
        
        //利用fastdfs客户端,实现文件上传到fastdfs服务器上
        try {
            //代码是模板式的
            //1、加载配置文件
            ClientGlobal.init("fastdfs_client.conf");
            
            //2、创建一个tracker的客户端
            TrackerClient trackerClient = new TrackerClient();
            
            //3、通过trackerClient获取一个连接,连接到Tracker,得到一个TrackerServer
            trackerServer = trackerClient.getConnection();
            
            //4、通过trackerClient获取一个存储节点的StorageServer
            storageServer = trackerClient.getStoreStorage(trackerServer);
            
            //5、通过trackerServer和storageServer构造一个Storage客户端
            StorageClient storageClient = new StorageClient(trackerServer, storageServer);
            
            return storageClient.upload_file(localFile, fileExtend, null);
            
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        } finally {
            try {
                //关闭服务,释放资源
                if (null != storageServer) {
                    storageServer.close();
                }
                if (null != trackerServer) {
                    trackerServer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
    
    /**
     * 删除图片
     *
     * @param group
     * @param filePath
     * @return
     */
    public static int deleteFile (String group, String filePath) {
        TrackerServer trackerServer = null;
        StorageServer storageServer = null;
        
        //利用fastdfs客户端,实现文件上传到fastdfs服务器上
        try {
            //代码是模板式的
            //1、加载配置文件
            ClientGlobal.init("fastdfs_client.conf");
            
            //2、创建一个tracker的客户端
            TrackerClient trackerClient = new TrackerClient();
            
            //3、通过trackerClient获取一个连接,连接到Tracker,得到一个TrackerServer
            trackerServer = trackerClient.getConnection();
            
            //4、通过trackerClient获取一个存储节点的StorageServer
            storageServer = trackerClient.getStoreStorage(trackerServer);
            
            //5、通过trackerServer和storageServer构造一个Storage客户端
            StorageClient storageClient = new StorageClient(trackerServer, storageServer);
            
            //fastdfs删除文件
            return storageClient.delete_file(group, filePath);
            
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        } finally {
            try {
                //关闭服务,释放资源
                if (null != storageServer) {
                    storageServer.close();
                }
                if (null != trackerServer) {
                    trackerServer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return -1;
    }
}

使用FastDfs 实现上传 及 删除

原文地址:http://www.cnblogs.com/liudongdong666666/p/7811648.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved