上傳的圖片怎麼儲存?(Tomcat 伺服器對映目錄配置)
在web網站開發的過程中,經常需要有使用者上傳圖片或者視訊的場景,那麼問題來了,這些圖片、視訊等數量眾多的多媒體檔案存在哪裡呢?
首先肯定不能儲存在專案路徑下,這樣會使整個專案體積變得龐大,畢竟圖片、視訊資料很佔空間,會給釋出,遷移專案帶來不便,並且在Eclipse、MyEclipse開發環境下,專案刪除之後再重新發布,儲存在Tomcat裡webapps目錄下上傳的多媒體檔案會丟失。
因此,我目前找到方便快捷的方法是,上傳到伺服器本地路徑下,如“D://webImages”。顯然,上傳儲存的時候是沒有什麼問題的,按部就班直接存絕對路徑。但是讀取的時候怎麼辦呢?
按“D://webImages”肯定是讀取不到伺服器的本地路徑的,這時候就可以利用Tomcat做伺服器虛擬地址映射了。方法如下:
1.在tomcat伺服器根目錄即apache-tomcat-7.0.65\conf\Catalina\localhost目錄下建立一個xml檔案(conf目錄下沒有路徑就自己建立),然後寫入如下內容:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/Images" docBase="D:\deyuanFile\idcardImgs" debug="0" reloadable="true" />
docBase是伺服器實際地址,path是訪問時候的虛擬地址,注意path必須和xml檔名保持一致否則不成功。docBase路徑最後不能加斜槓,否則不成功。
儲存新建好的xml檔案之後,重啟Tomcat,之後在瀏覽器中通過伺服器地址/path/檔名(示例:http://215.18.207.51:8000/Images/QQ截圖20171214101808.png)即可訪問到儲存在伺服器本地的資源。
如果是用IntelliJ IDEA直接部署的專案這些修改是不會有效的,因為通過IntelliJ IDEA釋出的專案不在Tomcat根目錄下,它自己做了整個專案的地址對映,所以如果是用IntelliJ IDEA,請按以下步驟配置虛擬目錄
1.點選綠色的+然後選擇External Source…
2.選擇目錄