长垣住房和城乡建设局 网站,网站上线流程图,wordpress 查询,wordpress 自动标签插件两者的区别和联系 MutipartFile是spring的一部分#xff0c;File则是java的标准类MutipartFile用于接收web传递的文件#xff0c;File操作本地系统的文件 MutipartFile 转换File的三种方式 使用MutipartFile 自带的transferTo方法使用java自带的FileOutPutStream流使用java自…两者的区别和联系 MutipartFile是spring的一部分File则是java的标准类MutipartFile用于接收web传递的文件File操作本地系统的文件 MutipartFile 转换File的三种方式 使用MutipartFile 自带的transferTo方法使用java自带的FileOutPutStream流使用java自带的NIO方法 transferTo保存 代码 参数目标文件的绝对路径 /*** Upload file 使用MultipartFile接收文件 transferTo方法保存文件* param file file* return*/PostMapping(/upload)public String upload(RequestParam(file) MultipartFile file) {// 判断文件是否为空if (file.isEmpty()) {return File is empty!;}try {// 设置文件存储路径String uploadFolder UPLOAD_FOLDER;// 判断文件夹是否存在不存在则创建File folder new File(uploadFolder);if (!folder.exists()) {folder.mkdirs();}// 获取文件名String fileName file.getOriginalFilename();// 设置文件存储路径File targetFile new File(uploadFolder File.separator fileName);// 保存文件file.transferTo(targetFile);} catch (Exception e) {e.printStackTrace();}return Upload successfully!;}测试 借助apifox工具测试MutipartFile 选择body 测试结果同时创建了文件夹和文件 使用原生的FileOutputStream保存文件 创建 FileOutputStream流将MultipartFile 文件转换为字节数组输入到FileOutputStream流中保存文件 /*** 使用原生的FileOutputStream保存文件*/PostMapping(/upload2)public String upload2(RequestParam(file) MultipartFile file) {// 判断文件是否为空if (file.isEmpty()) {return File is empty!;}try {// 设置文件存储路径String uploadFolder UPLOAD_FOLDER;// 判断文件夹是否存在不存在则创建File folder new File(uploadFolder);if (!folder.exists()) {folder.mkdirs();}// 获取文件名String fileName file.getOriginalFilename();// 设置文件存储路径File targetFile new File(uploadFolder File.separator fileName);// 保存文件 使用原生的FileOutputStream保存文件try(FileOutputStream fileOutputStream new FileOutputStream(targetFile)) {fileOutputStream.write(file.getBytes());}} catch (Exception e) {e.printStackTrace();return Upload failed!;}return Upload successfully!;}NIO复制文件 使用Files工具类的copy方法三个参数源文件的输入流目标文件的文件夹特殊操作REPLACE_EXISTING的作用是 若存在则替换 /*** 使用原生的NIO复制保存文件*/PostMapping(/upload3)public String upload3(RequestParam(file) MultipartFile file) {// 判断文件是否为空if (file.isEmpty()) {return File is empty!;}try {// 设置文件存储路径String uploadFolder UPLOAD_FOLDER;// 判断文件夹是否存在不存在则创建File folder new File(uploadFolder);if (!folder.exists()) {folder.mkdirs();}// 获取文件名String fileName file.getOriginalFilename();// 设置文件存储路径File targetFile new File(uploadFolder File.separator fileName);// 保存文件 使用原生的NIO复制保存文件Files.copy(file.getInputStream(), targetFile.toPath(), StandardCopyOption.REPLACE_EXISTING);} catch (Exception e) {e.printStackTrace();return Upload failed!;}return Upload successfully!;}