這篇文章主要為大家展示了“spring boot2.0如何實(shí)現(xiàn)圖片上傳至本地或服務(wù)器并配置虛擬路徑”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“spring boot2.0如何實(shí)現(xiàn)圖片上傳至本地或服務(wù)器并配置虛擬路徑”這篇文章吧。
成都創(chuàng)新互聯(lián)技術(shù)團(tuán)隊(duì)10多年來致力于為客戶提供網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、成都品牌網(wǎng)站建設(shè)、成都全網(wǎng)營銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了千余家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
使用到的工具如下:
框架:spring boot 2.0
前端模板:thymeleaf
圖片預(yù)覽:js
首先,上傳以及預(yù)覽,js以及,以及預(yù)覽圖片的JS
function Img(obj){ var imgFile = obj.files[0]; console.log(imgFile); var img = new Image(); var fr = new FileReader(); fr.onload = function(){ $('#img').attr('src',fr.result); } fr.readAsDataURL(imgFile); }
效果如圖所示:
后臺獲取圖片 將文件存入本地文件夾,這里要提一下,文件存放和將路徑放進(jìn)數(shù)據(jù)庫比較簡單,可以查找資料,這里不放代碼了。主要講解一下配置虛擬路徑:
為什么要配置虛擬路徑呢?如果不配置虛擬路徑直接訪問本地文件夾或服務(wù)器上的文件或圖片信息,會報錯Not allowed to load local resource,因?yàn)闉g覽器為了安全,不允許加載本地文件。
registry.addResourceHandler("/images/**").addResourceLocations("file:/C:/Users/ASUS/Desktop/file/");
首先解釋一下,"/images/**" 虛擬路徑,
位于static靜態(tài)文件下,file:/C:/Users/ASUS/Desktop/file/ ,C:/Users/ASUS/Desktop/file/ 指本地圖片存儲文件夾,如果是服務(wù)器,則改成對應(yīng)文件夾即可,這里是代碼配置靜態(tài)文件,也可以直接在.properties文件里配置。
這里有一個問題file:/C:/Users/ASUS/Desktop/file/的寫法存在差異,有的需要file:///C:/Users/ASUS/Desktop/file/,具體原因不清楚,記錄下來,存入數(shù)據(jù)庫的路徑為/images/+"圖片名"
最后看下最后的效果圖:
以上是“spring boot2.0如何實(shí)現(xiàn)圖片上傳至本地或服務(wù)器并配置虛擬路徑”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!