Java SpringBoot 文件上传(MultipartFile)

这个方法只能将文件存在服务器本地。
如果想传到另一个文件服务器,可以看这篇——《我的实战总结:FTP实现文件远程上传》
前台用的layui,看这里

后台:

//上传
@RequestMapping("/uploadFile")
@ResponseBody
public void uploadFile(@RequestParam("file")MultipartFile multipartFile, String odd_number){
    if(multipartFile == null || odd_number == null || "".equals(odd_number)){
        return;
    }
    //上传文件
    String fileName = multipartFile.getOriginalFilename(); //获取文件名,带后缀
    String path = "/H:/mmmm/" + odd_number +"/"; //文件夹路径
    File folderPath = new File(path);
    if (!folderPath.exists() && !folderPath.isDirectory()){//查询文件夹是否存在
        folderPath.mkdir();//建立一级子目录
        //folderPath.mkdirs();//建立多级子目录
        System.out.println("目录不存在,创建新文件夹");
    }
    File filePath = new File(path + fileName);
    try{
        multipartFile.transferTo(filePath);//将上传的文件写到服务器上指定的文件路径
        System.out.println("上传成功!");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

//删除
@Override
@Transactional
public void replaceFile(MultipartFile multipartFile, String odd_number) {
    String fileName = multipartFile.getOriginalFilename();//文件名
    String path = "";
    path = "D:/test/" + fileName;
    File file = new File(path);
    if (file.exists()){
        if (file.delete()){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }
    }else {
        System.out.println("文件不存在");
    }
}

你可能感兴趣的:(Java)