FastDFS圖片上傳工具類

public class UploadUtil {

    public static String uploadImage(MultipartFile multipartFile){

        String imgUrl = Constant.trackerServerIP; //fastdfs服務器ip自行設置

        //上傳圖片服務器
        //配置fdfs的全局鏈接地址
        String tracker = PmsUploadUtil.class.getResource("/tracker.conf").getPath();//獲得配置文件的路徑

        try {
            ClientGlobal.init(tracker);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        }

        TrackerClient trackerClient = new TrackerClient();
        //獲得trackerServer的實例
        TrackerServer trackerServer = null;
        try {
            trackerServer = trackerClient.getConnection();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //通過tracker獲得Storage鏈接客戶端
        StorageClient storageClient = new StorageClient(trackerServer, null);

        byte[] bytes =null;
        try {
            bytes = multipartFile.getBytes(); //獲得上傳的二進制對象
        } catch (IOException e) {
            e.printStackTrace();
        }

        //獲取文件後綴名
        String originalFilename = multipartFile.getOriginalFilename();
        String extName = originalFilename.substring(originalFilename.lastIndexOf(".")+1);

        //獲取返回的文件信息數組
        String [] uploadInfos = null;
        try {
            uploadInfos = storageClient.upload_file(bytes,extName,null);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        }

        //獲取圖片服務器路徑
        for (String uploadInfo : uploadInfos) {
            imgUrl += "/"+uploadInfo;
        }

        return imgUrl;
    }


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章