在SSM框架中將圖片上傳到數(shù)據(jù)庫中的實(shí)現(xiàn)代碼
今天我們來看看SSM中如何將圖片轉(zhuǎn)換成二進(jìn)制,最后傳入到自己的數(shù)據(jù)庫中,好了,廢話不多說,我們開始今天的學(xué)習(xí),我這里用的編輯器是IDEA
1、導(dǎo)入圖片上傳需要的jar依賴包
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency>
2、通過form表單提交到Controller控制層中,但是需要注意一點(diǎn),圖片上傳的請(qǐng)求方式必須是POST,否則會(huì)出現(xiàn)報(bào)錯(cuò)
然后在當(dāng)前的JSP頁面中的頭部加入以下代碼,防止出現(xiàn)中文亂碼
<meta http-equiv="Content-Type" content="multipart/form-data;charset=utf-8" />
3、在自己的form表單后面加入下面這行代碼,它的作用是將圖片轉(zhuǎn)換成二進(jìn)制進(jìn)行傳遞,但是它也有自身缺點(diǎn),它會(huì)將你所有傳遞的信息都轉(zhuǎn)換成二進(jìn)制
enctype="multipart/form-data"
4、一系列工作完事之后,我們來開始寫Controller控制層中的代碼,圖片上傳路徑切記要寫自己的上傳路徑,
pictureFile這個(gè)是我的圖片的傳遞名,這個(gè)一定要寫自己的圖片上傳名
<label class="layui-form-label">請(qǐng)選擇上傳圖片:<input type="file" name="pictureFile" class="layui-upload-file"></label>
@RequestMapping("這里寫form表單提交的請(qǐng)求路徑") public String shengadd(HttpServletRequest request, Sheng sheng, MultipartFile pictureFile) throws Exception { System.out.println("***"); //使用UUID給圖片重命名,并去掉四個(gè)“-” String name = UUID.randomUUID().toString().replaceAll("-", ""); //獲取文件擴(kuò)展名 String ext = FilenameUtils.getExtension(pictureFile.getOriginalFilename()); //設(shè)置圖片上傳路徑 String url = request.getSession().getServletContext().getRealPath("/statics/img"); System.out.println(url);//輸出文件名 //以絕對(duì)路徑保存重命名后的圖片 pictureFile.transferTo(new File(url + "/" + name + "." + ext)); //把圖片儲(chǔ)存路徑保存到數(shù)據(jù)庫 sheng.setImg("statics/img/" + name + "." + ext); userService.riyongadd(sheng); return "redirect:/redutime.html"; }
5、最后一項(xiàng),在springmvc-servlet.xml文件中插入文件上傳解析器
<!-- 定義文件上傳解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 設(shè)定默認(rèn)編碼 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 設(shè)定文件上傳的最大值5MB,5*1024*1024 --> <property name="maxUploadSize" value="5242880"></property> </bean>
好了,我們開始來測(cè)試代碼結(jié)果:可以看到圖片已經(jīng)上傳到自己所需要的路徑里面,也保存到了數(shù)據(jù)庫中
到此這篇關(guān)于在SSM框架中將圖片上傳到數(shù)據(jù)庫中的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)SSM框架圖片上傳數(shù)據(jù)庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java多線程編程之讀寫鎖ReadWriteLock用法實(shí)例
這篇文章主要介紹了Java多線程編程之讀寫鎖ReadWriteLock用法實(shí)例,本文直接給出編碼實(shí)例,需要的朋友可以參考下2015-05-05Java?MapStruct優(yōu)雅地實(shí)現(xiàn)對(duì)象轉(zhuǎn)換
MapSturct?是一個(gè)生成類型安全,高性能且無依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實(shí)現(xiàn)對(duì)象轉(zhuǎn)換,下面就來和大家聊聊具體操作吧2023-06-06攔截Druid數(shù)據(jù)源自動(dòng)注入帳密解密實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了攔截Druid數(shù)據(jù)源自動(dòng)注入帳密解密實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11easyexcel讀取excel合并單元格數(shù)據(jù)的操作代碼
這篇文章主要介紹了easyexcel讀取excel合并單元格數(shù)據(jù)的操作代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05Spring Boot JDBC 連接數(shù)據(jù)庫示例
本篇文章主要介紹了Spring Boot JDBC 連接數(shù)據(jù)庫示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02