SpringMVC框架實(shí)現(xiàn)上傳圖片的示例代碼
一.創(chuàng)建圖片虛擬目錄
在上傳圖片之前,先要設(shè)置虛擬目錄(以IDEA為例)
- 打開(kāi)工具欄的運(yùn)行配置Edit Configurations
- 添加物理目錄和并設(shè)置虛擬目錄路徑
添加img圖片在img文件夾內(nèi)
測(cè)試訪問(wèn):http://localhost:8080/img/img.jpg
二.SpringMVC上傳頭像
1.SpringMVC對(duì)多部件類(lèi)型的解析
上傳圖片SpringMVC.xml配置
在頁(yè)面form中提交enctype="multipart/form-data"的數(shù)據(jù)時(shí),需要springmvc對(duì)multipart類(lèi)型的數(shù)據(jù)進(jìn)行解析。在springmvc.xml中配置multipart類(lèi)型解析器。
<!--文件上傳--> <bean id ="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize"> <value>5242880</value> </property> </bean>
2.添加依賴
<!-- 文件上傳 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency>
3. 在Login1.jsp頁(yè)面form中提交enctype="multipart/form-data"的數(shù)據(jù)
<form action="/userController/insertUser" method="post" enctype="multipart/form-data"> <input type="text" required="required" placeholder="用戶名" name="userName"> <input type="password" required="required" placeholder="密碼" name="passWord"> <input type="file" name = "imgFile"> <div id="bt"> <input class="but" type="submit" value="注冊(cè)"> <a href="register.jsp" rel="external nofollow" ><input class="but" type="button" value="返回登錄"></a> </div> </form>
4.處理請(qǐng)求UserController.java
@RequestMapping("insertUser") public String insertUser (HttpServletRequest request, User user, MultipartFile imgFile) throws IOException { //獲取文件原始名稱 String originalFilename = imgFile.getOriginalFilename(); //上傳圖片 if(imgFile!=null && originalFilename!=null && originalFilename.length()>0){ //存儲(chǔ)圖片的物理路徑 String pic_path = "/home/ubuntu/IDEA/SSM/img/"; //新的圖片名稱 String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf(".")); //新圖片 File newFile = new File(pic_path+newFileName); //將內(nèi)存中的數(shù)據(jù)寫(xiě)入磁盤(pán) imgFile.transferTo(newFile); userService.insertUser(user,newFileName); HttpSession session = request.getSession(); session.setAttribute("imgUrl", newFileName); } return "item/success"; }
上傳成功
成功跳轉(zhuǎn)頁(yè)面success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>成功</title> </head> <body> <h1>成功頁(yè)面</h1> <img style="width: 150px; height: 200px" src="http://localhost:8080/img/<%=session.getAttribute("imgUrl")%>"> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java將數(shù)字金額轉(zhuǎn)為大寫(xiě)中文金額
這篇文章主要為大家詳細(xì)介紹了Java將數(shù)字金額轉(zhuǎn)為大寫(xiě)中文金額,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08使用MQ消息隊(duì)列的優(yōu)缺點(diǎn)詳解
這篇文章主要介紹了使用MQ消息隊(duì)列的優(yōu)缺點(diǎn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Java策略模式實(shí)現(xiàn)簡(jiǎn)單購(gòu)物車(chē)功能
這篇文章主要介紹了Java策略模式實(shí)現(xiàn)簡(jiǎn)單地購(gòu)物車(chē),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08使用SpringBoot簡(jiǎn)單了解Druid的監(jiān)控系統(tǒng)的配置方法
這篇文章主要介紹了使用SpringBoot簡(jiǎn)單了解Druid的監(jiān)控系統(tǒng)的配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06java后臺(tái)啟動(dòng)jar包的一些命令匯總
這篇文章主要介紹了java后臺(tái)啟動(dòng)jar包的一些命令匯總,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-03-03Java實(shí)現(xiàn)駝峰、下劃線互轉(zhuǎn)的方法
這篇文章主要介紹了Java實(shí)現(xiàn)駝峰、下劃線互轉(zhuǎn)的示例代碼,主要有使用 Guava 實(shí)現(xiàn)和自定義代碼轉(zhuǎn),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05