文件上传流式处理commons-fileupload
生活随笔
收集整理的這篇文章主要介紹了
文件上传流式处理commons-fileupload
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 從請求中獲取MultipartFile?
@RequestMapping(value="/upload", method=RequestMethod.POST)public @ResponseBody String handleFileUpload( @RequestParam("file") MultipartFile file) throws IOException{2. 文件流處理
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream;import org.apache.commons.fileupload.util.Streams; import org.apache.commons.io.IOUtils; import org.springframework.web.multipart.MultipartFile;public class UploadFileUtil {/*** 使用相同的名稱* @param file* @param filePath* @return*/public static String handleFileUpload(MultipartFile file,String filePath){try {if(!file.isEmpty()){String name=file.getOriginalFilename();InputStream inpustream=file.getInputStream();FileOutputStream fos = new FileOutputStream(filePath+File.separator+name);Streams.copy(inpustream, fos, true); }else{return "can not upload this file,because it is empty!";}} catch (IOException e) {return "failed to upload this file,because Stream interrupt unexpectedly";}return "upload file sucess";}/*** 重命名文件,包含后綴* @param file* @param filePath* @param fileName* @return*/public static String handleFileUpload(MultipartFile file,String filePath,String fileName){try {if(!file.isEmpty()){InputStream inpustream=file.getInputStream();FileOutputStream fos = new FileOutputStream(filePath+File.separator+fileName);Streams.copy(inpustream, fos, true); }else{return "can not upload this file,because it is empty!";}} catch (IOException e) {return "failed to upload this file,because Stream interrupt unexpectedly";}return "upload file sucess";}/***Copy bytes from a large (over 2GB) file with same filename* @param file* @param filePath* @param fileName* @return*/public static String handleLargeFileUpload(MultipartFile file,String filePath){try {if(!file.isEmpty()){String name=file.getOriginalFilename();InputStream inpustream=file.getInputStream();FileOutputStream fos = new FileOutputStream(filePath+File.separator+name);IOUtils.copyLarge(inpustream, fos); if(inpustream!=null){inpustream.close();}if(fos!=null){fos.close();}}else{return "can not upload this file,because it is empty!";}} catch (IOException e) {return "failed to upload this file,because Stream interrupt unexpectedly";}return "upload file sucess";}/***Copy bytes from a large (over 2GB) file with rename file* @param file* @param filePath* @param fileName* @return*/public static String handleLargeFileUpload(MultipartFile file,String filePath,String fileName){try {if(!file.isEmpty()){InputStream inpustream=file.getInputStream();FileOutputStream fos = new FileOutputStream(filePath+File.separator+fileName);IOUtils.copyLarge(inpustream, fos); if(inpustream!=null){inpustream.close();}if(fos!=null){fos.close();}}else{return "can not upload this file,because it is empty!";}} catch (IOException e) {return "failed to upload this file,because Stream interrupt unexpectedly";}return "upload file sucess";}}?
轉載于:https://www.cnblogs.com/davidwang456/p/4766675.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的文件上传流式处理commons-fileupload的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: http 协议上传文件multipart
- 下一篇: Java – Reading a Lar