web工程无法访问本地图片解决方案
1.問題描述:
大家在開發web項目中可能會遇到這樣的問題:運行web項目,打開瀏覽器但本機的圖片顯示不出來,f12查看是瀏覽器拒絕訪問本機路徑。
2.原因分析:
瀏覽器出于安全考慮是不允許html訪問本地文件。不會允許瀏覽器打開file://開頭的本地圖片。
我們寫一個簡單的html,在img的src直接給本機圖片絕對路徑,然后直接瀏覽器跑,可以看到圖片顯示。這說明瀏覽器拒絕訪問本機資源是在通過tomcat服務器的前提下的,我們寫html文件直接瀏覽器運行不受影響。
3.解決思路:
通過原因分析,我們應該把眼光放在tomcat服務器上,設置tomcat中默認訪問本機資源的絕對路徑,然后給一個對應的相對路徑,瀏覽器是不會拒絕訪問相對路徑的,因為這個比訪問絕對路徑安全多了。
舉例:
我電腦圖片絕對路徑:D:\technolog\img
我想要的圖片位置 D:\technologyprograme\img\1.jpg
設置的相對路徑: /img
具體的方案如下:
先找到安裝的tomcat目錄中的config中的server.xml文件;
然后打開server.xml,找到Host標簽,然后在Host標簽中添加這個一段:
你如果用的idea玩的web項目,注意還需要在Tomcat配置中勾選“Deploy application configured in Tomcat instance”才能夠加載以上配置信息。
如下圖:
重新啟動tomcat運行web項目即可訪問了
前端img的src內容,以我這邊的為例如下:
<img id="pp" src="/img/1.jpg"/>這里我給點建議,在設計數據庫對圖片的存儲,把這個相對路徑存放即可,比如我這的就存:
/img/1.jpg4.拓展
我們再進一步思考,如果不用上述方法,我們存放資源還有什么思路?
我這里簡單的分享哈我自己的想法:
可以直接把圖片資源弄到項目文件夾中,訪問給項目圖片的相對路徑也可以實現,但有一個弊端,每次重啟web項目,圖片資源丟失。
可以借助第三方存儲,云數據庫,對象存儲數據庫,直接把圖片存上面,訪問就給圖片url,這個就避開本機存儲,在公司也常用類似方案,數據安全及維護更好。
總結
以上是生活随笔為你收集整理的web工程无法访问本地图片解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卓一笔记---局部描述符表(LDT寻址表
- 下一篇: 首届中国餐饮行业资本品牌创新发展(盐城)