我們實作檔案上傳 用位元組流的話程式碼量大 效率低 所以springMVC為我們提供了自己的方法。
SpringMVC專門提供了CommonMultipartResolver元件實作檔案上傳:
maxUploadSize 檔案最大限制,單位是byte
maxInMemorySize
.保證上傳。不能隨意命名
這就是必須保證bean的id相同,才能正常工作。
![1479884634848166.png SpringMVC實現圖片上傳](https://img.php.cn//upload/image/313/789/698/1479884634848166.png)
這時候我們就開始設定form表單,必須加入enctype=「multipart/form-data」:
然後記得引入兩個jar包: -io-1.4.jar![1479884658918662.png SpringMVC實現圖片上傳](https://img.php.cn//upload/image/171/981/909/1479884658918662.png)
然後我們開始寫java程式碼:
1.首先將request變成MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) CommonsMultipartFile file = (CommonsMultipartFile)multipartRequest.getFile(「file」);
這個file必須與form表單中input的name的值一致。
3.最後把file移到目標位址:
FileCopyUtil.cope(file.getByte(),uploadFile);
以上是單一檔案上傳,對於多重檔案上傳,可以用Multipartquest(MultipartcE)取得表單傳過來的所有文件
然後用for循環遍歷依序上傳文件:
說完了文件上傳,再說下如何下載:
文件下載主要採用字節流的形式,有三個要點:
1.設定編碼格式為:text/html;charset=utf-8
2.設定header中Content-disposition屬性值為attachment;filename=檔案名稱(這個檔案名稱就是客戶端彈出框檔案的名字)
3.設定header中Context-Length屬性,值為檔案的大小
以上是一個小例子。 ![1479884690482750.png SpringMVC實現圖片上傳](https://img.php.cn//upload/image/668/441/103/1479884690482750.png)