zoukankan      html  css  js  c++  java
  • coding++: java 操作FastDFS(上传 | 下载 | 删除)

    package cn.com.soundrecording.controller;

    import cn.com.soundrecording.utils.FastDFSClient;
    import com.sun.net.httpserver.HttpContext;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    import org.apache.commons.io.IOUtils;
    import org.springframework.web.bind.annotation.*;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.MultipartHttpServletRequest;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    import java.net.URLEncoder;
    import java.util.List;

    @RestController
    public class UploedController {

    private final String URL = "http://wlkjs.cn/";

    //上传到服务器
    @PostMapping("/upload")
    @ResponseBody
    public String uploed(MultipartFile multipartFile, HttpServletRequest request) throws Exception {

    //文件类型
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    //02、上传到服务器
    FastDFSClient dfsClient = new FastDFSClient("config/fastdfs.properties");
    String url = dfsClient.uploadFile(multipartFile.getBytes(), request.getParameter("type"));
    System.out.println(url);
    return URL + url;

    }

    //从服务器下载
    @GetMapping("/download")
    public void download(String fileName, HttpServletResponse response) throws Exception {
    String name, groupName, remoteFileName;
    //初始化连接
    FastDFSClient dfsClient = new FastDFSClient("config/fastdfs.properties");
    //获取 group1 名称
    groupName = fileName.substring(fileName.indexOf("group1"), fileName.indexOf("/M00"));
    //获取 文件全路径 M00..xxxxx
    remoteFileName = fileName.substring(fileName.indexOf("M00"));
    name = fileName.substring(fileName.lastIndexOf("/"));
    //执行下载
    byte[] content = dfsClient.download(groupName, remoteFileName);
    //响应到客户端下载
    response.setContentType("application/ms-mp3;charset=UTF-8");
    response.setHeader("Content-Disposition", "attachment;filename="
    .concat(String.valueOf(URLEncoder.encode(name, "UTF-8"))));
    OutputStream out = response.getOutputStream();
    out.write(content);
    out.flush();
    out.close();
    }

    //从服务器删除
    @PostMapping("/delete")
    public Object delete(String fileName) throws Exception {
    String groupName, remoteFileName;
    //获取 group1 名称
    groupName = fileName.substring(fileName.indexOf("group1"), fileName.indexOf("/M00"));
    //获取 文件全路径 M00..xxxxx
    remoteFileName = fileName.substring(fileName.indexOf("M00"));
    //执行删除
    FastDFSClient dfsClient = new FastDFSClient("config/fastdfs.properties");
    //返回 0 代表成功
    int i = dfsClient.delete(groupName, remoteFileName);
    System.out.println(i == 0 ? "删除成功" : "删除失败:" + i);
    return i;
    }

    }

  • 相关阅读:
    工作总结06
    工作总结05
    工作总结04
    站立会议01
    团队项目估算
    团队项目计划会议
    团队需求分析视频
    团队介绍
    团队项目计划会议01
    电梯演讲
  • 原文地址:https://www.cnblogs.com/ww25/p/11133449.html
Copyright © 2011-2022 走看看