/**
 * 上传文件到fastdfs图片服务器
 * @param file
 * @return
 * @throws IOException
 * @throws MyException
 */
public HashMap<String, String> fastdfsUpload(MultipartFile file ) throws IOException, MyException {
    String file1 = FastDfsController.class.getResource("/fdfs_tracker.conf").getFile();
    ClientGlobal.init(file1);
    TrackerClient trackerClient = new TrackerClient();
    TrackerServer trackerServer = trackerClient.getConnection();
    StorageServer storageServer = null;
    StorageClient1 storageClient1 = new StorageClient1(trackerServer, storageServer);
    // 获取上传文件的后缀名
    String ext = StringUtils.substringAfterLast(file.getOriginalFilename(), ".");
    //上传的原文件名
    String originalshouquanFile = file.getOriginalFilename();
    //fastDfs文件存储后路径
    String fastdfs_path = storageClient1.upload_appender_file1(file.getBytes(), ext, null);
    HashMap<String, String> hashMap = new HashMap<>();
    hashMap.put("filename",originalshouquanFile);
    hashMap.put("filepath",fastdfs_path);
    return hashMap;
}
//从浏览器下载
@RequestMapping("/fastdfs/download")
public void fastupload(String fileName , String filePath, HttpServletRequest request, HttpServletResponse response) throws IOException, MyException {
    String downLoadPath = filePath;
    // 获取文件的后缀名
    String ext = StringUtils.substringAfterLast(fileName, ".");
        String file = FastDfsController.class.getResource("/fdfs_tracker.conf").getFile();
        ClientGlobal.init(file);
        TrackerClient trackerClient = new TrackerClient();
        TrackerServer trackerServer = trackerClient.getConnection();
        StorageServer storageServer = null;
        StorageClient1 storageClient1 = new StorageClient1(trackerServer, storageServer);
        byte[] by = storageClient1.download_file1(downLoadPath);
        response.setCharacterEncoding("UTF-8");
         response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("test.jpg", "UTF-8"));
    if (by!=null){
        ServletOutputStream outputStream = response.getOutputStream();
        IOUtils.write(by,outputStream);
        }
}