[英]What is the correct path I need to see my uploaded image?
在我的Web應用程序中,我的頁面之一是將照片上傳到路徑
/usr/local/rac/picture-name-goes-here
照片上傳正常,但是我需要在另一個頁面中訪問它,當我嘗試從JSP訪問它時,它不會顯示,我猜我的照片路徑不正確
我的JSP中用於訪問照片的代碼如下所示。
<tr>
<td>
<img src="/usr/local/agent/photo-name-here.jpg"/>
</td>
</tr>
我對這張照片的路徑是否不正確? 如果有幫助,我正在從目錄中的Tomcat運行我的Web應用程序
C:\\的Tomcat6
我最終將把它轉移到Linux機器上,並期望與照片共享相同的路徑。
這里有一個主要的誤解。 HTML由網絡瀏覽器而不是網絡服務器執行。 Web瀏覽器下載HTML,掃描還需要下載的任何資源(CSS,腳本,圖像等),並為每個資源激發一個新的HTTP請求 。 所有資源都應指向一個有效的URL ,而不是客戶端計算機不知道的某些本地磁盤文件系統路徑。
基本上有兩種方法可以解決此“問題”:
在Tomcat的/conf/server.xml
添加一個新的Context
:
<Context docBase="/usr/local/agent" path="/images" />
這樣,就可以通過http://example.com/images/ ...訪問它們,並且您可以使用以下<img>
<img src="/images/photo-name-here.jpg"/>
創建一個Servlet
,該Servlet
基本上獲取圖像的InputStream
並將其沿着正確的標頭集寫入響應的OutputStream
中。 您可以在此處找到此類servlet的基本示例,並在此處找到更高級的示例。 當Servlet
映射到web.xml
/images/*
時,可以通過http://example.com/contextname/images/ ...訪問圖像,並且您可以按如下方式使用它(假設JSP / HTML文件位於上下文根目錄中:
<img src="images/photo-name-here.jpg"/>
src="/usr/local/agent/photo-name-here.jpg"
<-此URL是服務器中的本地地址,要顯示圖像,必須設置有效的HTTP
地址,例如:
http://www.yourdomain.com/images/photo-name-here.jpg
為此,您需要將照片上傳到www
根文件夾中的localpath
。
如果您的webapp
已安裝在
/home/apache/www/website/
您將圖像上傳到以下文件夾:
/home/apache/www/website/images/
然后您的HTTP
地址將是
http://www.yourdomain.com/images/photo-name-here.jpg
我對您在/usr/
和C:\\Tomcat
兩個路徑有些困惑
我建議您將上載的localpath
文件夾設置為參數,因此您將只修改配置文件,而不是訪問該本地路徑的每個函數或方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.