SpringMVC框架實現(xiàn)上傳圖片的示例代碼
一.創(chuàng)建圖片虛擬目錄
在上傳圖片之前,先要設(shè)置虛擬目錄(以IDEA為例)
- 打開工具欄的運行配置Edit Configurations
- 添加物理目錄和并設(shè)置虛擬目錄路徑
添加img圖片在img文件夾內(nèi)
測試訪問:http://localhost:8080/img/img.jpg
二.SpringMVC上傳頭像
1.SpringMVC對多部件類型的解析
上傳圖片SpringMVC.xml配置
在頁面form中提交enctype="multipart/form-data"的數(shù)據(jù)時,需要springmvc對multipart類型的數(shù)據(jù)進行解析。在springmvc.xml中配置multipart類型解析器。
<!--文件上傳--> <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頁面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="注冊"> <a href="register.jsp" rel="external nofollow" ><input class="but" type="button" value="返回登錄"></a> </div> </form>
4.處理請求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){ //存儲圖片的物理路徑 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ù)寫入磁盤 imgFile.transferTo(newFile); userService.insertUser(user,newFileName); HttpSession session = request.getSession(); session.setAttribute("imgUrl", newFileName); } return "item/success"; }
上傳成功
成功跳轉(zhuǎn)頁面success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>成功</title> </head> <body> <h1>成功頁面</h1> <img style="width: 150px; height: 200px" src="http://localhost:8080/img/<%=session.getAttribute("imgUrl")%>"> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用SpringBoot簡單了解Druid的監(jiān)控系統(tǒng)的配置方法
這篇文章主要介紹了使用SpringBoot簡單了解Druid的監(jiān)控系統(tǒng)的配置,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06Java實現(xiàn)駝峰、下劃線互轉(zhuǎn)的方法
這篇文章主要介紹了Java實現(xiàn)駝峰、下劃線互轉(zhuǎn)的示例代碼,主要有使用 Guava 實現(xiàn)和自定義代碼轉(zhuǎn),本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-05-05