案例說明:數據庫可以存儲圖片,但是相當耗費內存,怎么辦呢?在數據庫中存儲圖片的相對路徑,訪問資源時使用相對路徑訪問。
兩種方法
1:圖片存儲在項目內,使用相對路徑訪問,該方法使用簡單,但是,這樣會造成項目體積急劇增大,可移植性變差,也不安全。
2:圖片存儲在單獨的容量大的外存,使用絕對路徑讀取圖片。
當啟動一個部署在Tomcat的Web項目時,可以訪使用相對路徑或者絕對路徑訪問到項目內的資源;
但是當你想要訪問本地資源時,你該怎么做?那就是設置Tomcat的虛擬路徑。
方法一:
Tomcat的配置文件server.xml的<Host></Host>節點內添加如下配置
<Context docBase="D:\aaa\bbb" path="/resources" reloadable="true"/>
注:docBase="D:\aaa\bbb"是文件存放的物理地址,path="/resource" 是虛擬路徑
若從數據庫中讀取的路徑為 "\resources\ccc\ddd",經過docBase轉換后實際訪問地址為 "D:\aaa\bbb\ccc\ddd",即將虛擬路徑用實際物理地址替換
IDEA在tomcat的設置中勾選deplo...
方法二:
在IDEA的tomcat設置中取消勾選方法一的deplo...選項
在deploment設置中添加實際物理路徑和虛擬路徑
兩種方法任選其一即可在前端訪問本地圖片。
方法一弊端:無論什么時候運行,tomcat都會替換掉你使用的虛擬路徑
方法二弊端:離開IDEA又無法正常訪問圖片了