zoukankan      html  css  js  c++  java
  • fastdfs java客户端操作

    https://github.com/happyfish100/fastdfs-client-java

    到此处下载下来demo

    这里采用maven的方式

    mvn clean install

    上传到本地仓库

    mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs-client-java -Dversion=1.29-SNAPSHOT -Dpackaging=jar -Dfile=fastdfs-client-java-1.29-SNAPSHOT.jar

    引入文件上传依赖

    <dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
    </dependency>

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


    项目结构

     代码如下:

    @RestController
    public class AttachmentController {

    @RequestMapping("/upload")
    public String fdfsUpload(@RequestParam MultipartFile file){
    try {
    ClientGlobal.initByProperties("fdfs-client.properties");
    System.out.println("初始化信息:"+ClientGlobal.configInfo());
    // 链接FastDFS服务器,创建tracker和Stroage
    TrackerClient trackerClient = new TrackerClient();
    TrackerServer trackerServer = trackerClient.getTrackerServer();
    StorageServer storageServer = trackerClient.getStoreStorage(trackerServer);
    StorageClient storageClient = new StorageClient(trackerServer,storageServer);
    String tempFileName = file.getOriginalFilename();
    String fileExtName = tempFileName.substring(tempFileName.lastIndexOf(".")+1);
    //上传文件,只需要文件字节数组,第二个参数是文件扩展名,第三个参数是元数据
    String[] strings = storageClient.upload_file(file.getBytes(), fileExtName, null);
    String result="";
    for (int i=0;i<strings.length;i++){

    if(i==strings.length-1){
    result+=strings[i];
    }else{
    result+=strings[i]+"/";
    }

    }
    System.out.println(result);


    } catch (Exception e) {
    e.printStackTrace();
    }

    return null;
    }

    /**
    * FastDFS实现文件下载
    *
    * @param filePath
    */
    @RequestMapping(value = "/download", method = RequestMethod.GET)
    @ResponseBody
    public void fdfsDownload(String filePath) {
    try {
    ClientGlobal.initByProperties("fdfs-client.properties");

    // 链接FastDFS服务器,创建tracker和Stroage
    TrackerClient trackerClient = new TrackerClient();
    TrackerServer trackerServer = trackerClient.getTrackerServer();
    StorageServer storageServer = trackerClient.getStoreStorage(trackerServer);
    StorageClient storageClient = new StorageClient(trackerServer,storageServer);
    byte[] b = storageClient.download_file("group1", filePath);
    if (b == null) {
    throw new IOException("文件" + filePath + "不存在");
    }

    String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
    FileOutputStream fileOutputStream = new FileOutputStream("E://" + fileName);
    IOUtils.write(b, fileOutputStream);
    fileOutputStream.close();
    System.out.println("文件下载成功");
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    /**
    * FastDFS实现文件删除
    *
    * @param filePath
    */
    @RequestMapping(value = "/delete", method = RequestMethod.GET)
    @ResponseBody
    public void fdfsDelete(String filePath) {
    try {
    ClientGlobal.initByProperties("fdfs-client.properties");

    TrackerClient trackerClient = new TrackerClient();
    TrackerServer trackerServer = trackerClient.getTrackerServer();
    StorageServer storageServer = trackerClient.getStoreStorage(trackerServer);
    StorageClient storageClient = new StorageClient(trackerServer,storageServer);
    int deleteResult = storageClient.delete_file("group1", filePath);

    if (deleteResult== 0) {
    System.out.println("文件删除成功");
    }else {
    System.out.println("文件删除失败");
    }



    } catch (Exception e) {
    e.printStackTrace();
    }
    }


    }


    亲测可用
  • 相关阅读:
    《全体育&#183;瑜伽》
    PowerDesigner使用教程
    Android基础之——startActivityForResult启动界面并返回数据,上传头像
    数据仓库与数据挖掘的一些基本概念
    php实现求二进制中1的个数(右移、&、int32位)(n = n & (n
    批量发短信的平台浏览总结
    php资源集
    js进阶正则表达式5几个小实例(原样匹配的字符在正则中原样输出)(取反^)
    js进阶正则表达式方括号(方括号作用)(js正则是在双正斜杠之中:/[a-z]/g)
    js进阶正则表达式修饰符(i、g、m)(var reg2=/html/gi)
  • 原文地址:https://www.cnblogs.com/changefl/p/12780701.html
Copyright © 2011-2022 走看看