spring boot2.0圖片上傳至本地或服務(wù)器并配置虛擬路徑的方法
最近寫了關(guān)于圖片上傳至本地文件夾或服務(wù)器,上傳路徑到數(shù)據(jù)庫,并在上傳時(shí)預(yù)覽圖片。使用到的工具如下:
框架:spring boot 2.0
前端模板:thymeleaf
圖片預(yù)覽:js
首先,上傳以及預(yù)覽,js以及<input type="file">,以及預(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);
}
<input type="file" name="url" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" style="opacity:1" onchange="Img(this)"/>
效果如圖所示:

后臺(tái)獲取圖片 將文件存入本地文件夾,這里要提一下,文件存放和將路徑放進(jìn)數(shù)據(jù)庫比較簡單,可以查找資料,這里不放代碼了。主要講解一下配置虛擬路徑:

為什么要配置虛擬路徑呢?如果不配置虛擬路徑直接訪問本地文件夾或服務(wù)器上的文件或圖片信息,會(huì)報(bào)錯(cuò)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/ 指本地圖片存儲(chǔ)文件夾,如果是服務(wù)器,則改成對(duì)應(yīng)文件夾即可,這里是代碼配置靜態(tài)文件,也可以直接在.properties文件里配置。
這里有一個(gè)問題file:/C:/Users/ASUS/Desktop/file/的寫法存在差異,有的需要file:///C:/Users/ASUS/Desktop/file/,具體原因不清楚,記錄下來,存入數(shù)據(jù)庫的路徑為/images/+"圖片名"
最后看下最后的效果圖:

總結(jié)
以上所述是小編給大家介紹的spring boot2.0圖片上傳至本地或服務(wù)器并配置虛擬路徑的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
ssm 使用token校驗(yàn)登錄的實(shí)現(xiàn)
這篇文章主要介紹了ssm 使用token校驗(yàn)登錄的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
通過自定制LogManager實(shí)現(xiàn)程序完全自定義的logger
本章主要闡述怎么完全定制化LogManager來實(shí)現(xiàn)應(yīng)用程序完全自定制的logger,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
淺談MyBatis循環(huán)Map(高級(jí)用法)
這篇文章主要介紹了淺談MyBatis循環(huán)Map(高級(jí)用法),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
java并發(fā)高的情況下用ThreadLocalRandom來生成隨機(jī)數(shù)
如果我們想要生成一個(gè)隨機(jī)數(shù),通常會(huì)使用Random類。但是在并發(fā)情況下Random生成隨機(jī)數(shù)的性能并不是很理想,本文主要介紹了java并發(fā)高的情況下用ThreadLocalRandom來生成隨機(jī)數(shù),感興趣的可以了解一下2022-05-05

