日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MultipartFile文件上传

發(fā)布時間:2024/7/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MultipartFile文件上传 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、配置文件:
SpringMVC 用的是 的MultipartFile來進行文件上傳 所以我們首先要配置MultipartResolver:用于處理表單中的file。在springmvc.xml中進行配置,目錄結(jié)構(gòu)如下:

<!-- 配置MultipartResolver 用于文件上傳 使用spring的CommosMultipartResolver --> <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8" p:maxUploadSize="5400000" p:uploadTempDir="fileUpload/temp" > </beans:bean>

其中屬性詳解:
defaultEncoding="UTF-8"?是請求的編碼格式,默認為iso-8859-1
maxUploadSize="5400000"?是上傳文件的大小,單位為字節(jié)
uploadTempDir="fileUpload/temp"?為上傳文件的臨時路徑

二、創(chuàng)建一個簡單的上傳表單:

<body> <h2>文件上傳實例</h2> <form action="${pageContext.request.contextPath}/upload" method="post" enctype="multipart/form-data"><input type="file" name="img"></br><input type="submit" value="上傳"> </form> </body>

注意要在form標簽中加上enctype="multipart/form-data"表示該表單是要處理文件的,這是最基本的東西,很多人會忘記然而當上傳出錯后則去找程序的錯誤,卻忘了這一點。

三、編寫上傳控制類

1、創(chuàng)建一個控制類: FileUploadController和一個返回結(jié)果的頁面list.jsp
2、編寫提交表單的action:

//單個文件上傳@RequestMapping("upload")public String tolist(@RequestParam("img") MultipartFile img) throws IOException {//上傳圖片名稱String originalFilename = img.getOriginalFilename();//上傳路徑File file = new File("E:\\upload\\" + originalFilename);if(!file.exists()){file.mkdir();}//將內(nèi)存中的文件上傳到磁盤img.transferTo(file);return "list";}

3、使用SpringMVC注解RequestParam來指定表單中的img參數(shù);
4、指定一個用于保存文件的web項目路徑
5、通過MultipartFile的transferTo(File dest)這個方法來轉(zhuǎn)存文件到指定的路徑。

到此基本的文件上傳就結(jié)束了。

MultipartFile類常用的一些方法:
String getContentType()//獲取文件MIME類型
InputStream getInputStream()//后去文件流
String getName()?//獲取表單中文件組件的名字
String getOriginalFilename()?//獲取上傳文件的原名
long getSize()??//獲取文件的字節(jié)大小,單位byte
boolean isEmpty()?//是否為空
void transferTo(File dest)?//保存到一個目標文件中

四、多文件上傳。

多文件上傳其實很簡單,和上傳其他相同的參數(shù)如checkbox一樣,表單中使用相同的名稱,然后action中將MultipartFile參數(shù)類定義為數(shù)組就可以。
接下來實現(xiàn):

1、創(chuàng)建一個上傳多文件的表單:

<body> <h2>文件上傳實例</h2> <form action="${pageContext.request.contextPath}/fileUpload" method="post" enctype="multipart/form-data"><input type="file" name="img"></br><input type="file" name="img"></br><input type="file" name="img"></br><input type="submit" value="上傳"> </form> </body>

2、編寫處理表單的action

//多文件上傳@RequestMapping("fileUpload")@ResponseBodypublic String file(@RequestParam("img") MultipartFile[] img) throws IOException {for (int i = 0; i <img.length ; i++) {//上傳圖片名稱String originalFilename = img[i].getOriginalFilename();//上傳路徑File file = new File("E:\\upload\\" + originalFilename);if(!file.exists()){file.mkdir();}//將內(nèi)存中的文件上傳到磁盤img[i].transferTo(file);}return "success";}

?

總結(jié)

以上是生活随笔為你收集整理的MultipartFile文件上传的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。