author: Nathannie
date: 2022-04-14-20:26
前言
學習ssm項目,需要獲取數據庫圖片地址展示在前端,數據庫圖片資源來自本地硬盤,但圖片的訪問路徑是相對路徑,而圖片真實路徑是絕對路徑,因此需要對相對路徑處理,使得訪問圖片的相對路徑最終訪問到圖片的絕對路徑,能正確的顯示。
參考視頻中使用的IDE是Eclipse,使用方式是在配置文件server.xml
中設置虛擬目錄
,將訪問路徑關鍵字替換為圖片真實路徑。而使用IntelliJ Idea可以直接在編輯器中設置,不需要進入到配置文件中。
分析
要求:
-
確定圖片的訪問路徑(相對路徑)
-
確定圖片的真實路徑(絕對路徑)
如圖片的訪問路徑為: /upload/images/item/shopcategory/2017061223272255687.png
,而圖片的真實路徑為:D:\projectdev\image\upload\images\item\shopcategory\2017061223272255687.png
。
要想正確訪問圖片,只需要補全前面的路徑內容(D:\projectdev\image
),使用虛擬目錄方式將/upload
替換為D:\projectdev\image\upload
,這樣訪問/upload
就是在訪問D:\projectdev\image\upload
。整體上訪問/upload/images/item/shopcategory/2017061223272255687.png
就是訪問D:\projectdev\image\upload\images/item/shopcategory/2017061223272255687.png
,這樣圖片就能正常訪問並展示。
注:
\
或/
只是路徑分隔符,不同操作系統有所不同,此時圖片儲存在windows
操作系統中,系統路徑為\
,而訪問路徑以http
協議訪問,分隔符為/
。只要確保虛擬目錄后的內容/images/item/shopcategory/2017061223272255687.png
和實際圖片地址\images\item\shopcategory\2017061223272255687.png
結構對應即可。
圖片的訪問路徑:
圖片的實際路徑:
設置方式1:在配置文件中設置文件的虛擬目錄
使用配置文件方式(server.xml)就很簡單了(但是不建議),建議使用熱部署方式設置虛擬目錄,參考視頻第三個方式[1]。
在Idea生成的Tomcat配置實例c9943776-5294-4ecd-93c9-d47c0ec22629
下的\conf\Catalina\localhost
下創建一個文件,文件名為虛擬目錄upload
,在文件中寫入Context配置:
<Context path="/upload" docBase="D:\projectdev\image\upload" />
實際上這個方式可以直接在Idea編輯器中設置。
關於Idea生成的Tomcat配置實例:xxxxxxxxxxxxxxxxxx
設置方式2:在Idea中設置文件的虛擬目錄
參考:https://www.jianshu.com/p/e1a38a08ecdd
關於tomcat服務器項目文件訪問方式及虛擬目錄可以參看javaweb基礎視頻[2]有關
的講解。
1、點擊Idea菜單中點擊Edit configuration
。
2、在面板中點擊Deployment
,然后點擊下方+
(不同版本idea可能界面選項不同),選擇External Source
,從硬盤中選擇一個路徑作為圖片的儲存路徑(也即是用於替換虛擬目錄的路徑),這里是D:\projectdev\image\upload
,所以選擇upload
目錄,在點擊OK
完成設置。
3、設置文件的訪問的虛擬目錄為/upload
,(Application Context就是設置文件訪問的虛擬目錄,一般用於項目的虛擬目錄設置,當然可以設置其他文件)。最后點擊Apply
,OK
完成設置。