上傳圖片到tomcat服務器(tomcat7-maven-plugin)

本來比較好的做法是將圖片上傳到圖片服務器(nginx),但nginx主要用在linux平臺,由於客觀原因暫不考慮。然後想到的是設置tomcat服務器虛擬路徑,服務器路徑映射到本地磁盤路徑,將圖片上傳到本地磁盤中。但是項目中tomcat是以插件的形式內嵌到maven中(pom文件依賴tomcat7-maven-plugin),沒有找到設置虛擬路徑的方法,於是退而求其次,將圖片上傳到tomcat服務器中,存到/WEB-INF/uploadedImages/路徑下。

先來看幾個路徑的問題,在java web工程中,/ 是指項目在tomcat中的根目錄(可以在tomcat中配置,我的項目中配置的是 / ,根目錄是http://localhost:8080/),實際是代表wepapp目錄,以我自己的項目爲例,通過request.getSession.getServletContext().getRealPah("/")得到的路徑就是D:\javaweb\taotao-manager\taotao-manager-web\src\main\webapp\ 。另外,Thread.currentThread().getContextClassLoader().getResource("").getPath()得到的路徑是D:\javaweb\taotao-manager\taotao-manager-web\target\classes\,target文件夾會在每一次tomcat啓動運行項目時被清理(清理上次的target)後重建。

言歸正傳,由上可知圖片上傳的路徑可表示爲request.getSession.getServletContext().getRealPah("/") + "WEB-INF/uploadedImages/",由於在配置文件中配置了<mvc:resources location="/WEB-INF/uploadedImages/" mapping="/uploadedImages/**"></mvc:resources>,那麼圖片的src爲http:localhost:8080/uploadedImages/**。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章