Java springboot接收文件流并保存至本地

使用 MultipartFile 接收文件流

public @ResponseBody
    String upload(MultipartFile myFile){
        try {
            //1.获取源文件的输入流
            InputStream is = myFile.getInputStream();
            //2.获取源文件类型,文件后缀名
            String originalFileName = myFile.getOriginalFilename();
            //3.定义上传后的目标文件名(为了避免文件名称重复,此时使用UUID)
            String newFileName = UUID.randomUUID().toString()+"."+originalFileName;
            //4.通过上传路径得到上传的文件夹
            File file = new File("imageFile");
            //4.1.若目标文件夹不存在,则创建
            if(!file.exists()){ //判断目标文件夹是否存在
                file.mkdirs();//4.2.不存在,则创建文件夹
            }
            //5.根据目标文件夹和目标文件名新建目标文件(上传后的文件)
            File newFile = new File("imageFile",newFileName);  //空的目标文件
            //6.根据目标文件的新建其输出流对象
            FileOutputStream os = new FileOutputStream(newFile);
            //7.完成输入流到输出流的复制
            IOUtils.copy(is,os);
            //8.关闭流(先开后关)
            os.close();
            is.close();
            return "SUCCESS";
        } catch (IOException e) {
            e.printStackTrace();
            return "ERROR";
        }
    }
经验分享 程序员 微信小程序 职场和发展