簡(jiǎn)介
文件上傳是web開(kāi)發(fā)中常見(jiàn)的需求之一想鹰,springMVC將文件上傳進(jìn)行了集成悠砚,可以方便快捷的進(jìn)行開(kāi)發(fā)悼吱。
springmvc中對(duì)多部件類型解析
在 頁(yè)面form中提交enctype="multipart/form-data"的數(shù)據(jù)時(shí)乐导,需要springmvc對(duì)multipart類型的數(shù)據(jù)進(jìn)行解析肯骇。在springmvc.xml中配置multipart類型解析器。
<!-- 文件上傳 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 設(shè)置上傳文件的最大尺寸為5MB -->
<property name="maxUploadSize">
<value>5242880</value>
</property>
</bean>
- 加入上傳圖片的 jar
使用下邊的jar進(jìn)行圖片上傳碟案。
創(chuàng)建圖片虛擬目錄存儲(chǔ)圖片
在tomcat上配置圖片虛擬目錄愿险,在tomcat下conf/server.xml中添加:
<Context docBase="F:\develop\upload\temp" path="/pic" reloadable="false"/>
訪問(wèn)http://localhost:8080/pic即可訪問(wèn)F:\develop\upload\temp下的圖片。
Controller代碼
//商品修改提交
@RequestMapping("/editItemSubmit")
public String editItemSubmit(Items items, MultipartFile pictureFile)throws Exception{
//原始文件名稱
String pictureFile_name = pictureFile.getOriginalFilename();
//新文件名稱
String newFileName = UUID.randomUUID().toString()+pictureFile_name.substring(pictureFile_name.lastIndexOf("."));
//上傳圖片
File uploadPic = new java.io.File("F:/develop/upload/temp/"+newFileName);
if(!uploadPic.exists()){
uploadPic.mkdirs();
}
//向磁盤寫文件
pictureFile.transferTo(uploadPic);
...
}