[英]Uploaded image does not display using 'out.print' in JSP page
我正在嘗試向我的網頁添加一些簡單的用戶圖像上傳功能。 目前,(據我所知)有一個有效的圖像上傳-當我上傳圖像時,它會出現在我的Web應用程序目錄中的正確文件夾中。 但是,我嘗試在用戶上傳后在頁面上顯示圖像,但由於某種原因它沒有出現,甚至認為頁面源看起來正確...
在jsp文件中,我使用代碼
FileItem fi = (FileItem)i.next();
if ( !fi.isFormField () ) {
// Get the uploaded file parameters
String fieldName = fi.getFieldName();
String fileName = fi.getName();
boolean isInMemory = fi.isInMemory();
long sizeInBytes = fi.getSize();
// Write the file
if( fileName.lastIndexOf("\\") >= 0 ){
file = new File( filePath + fileName.substring( fileName.lastIndexOf("\\"))) ;
}
else {
file = new File( filePath + fileName.substring(fileName.lastIndexOf("\\")+1)) ;
}
fi.write( file ) ;
out.println("Uploaded Filename: " + filePath + fileName + "<br></br>");
out.println("<img src = \"uploads/" + fileName + "\"></img>");
當我上傳圖像時,頁面顯示“ Uploaded Filename:...”,而不顯示圖像。 如果我查看頁面源,我還可以看到引用該圖像的代碼行,如果單擊圖像源“ uploads / photo.png”,則該照片將在新的瀏覽器頁面中打開。 我不知道為什么我不能顯示它-我也嘗試過更改路徑,但看來這應該是正確的...
我的文件夾結構是:webapps根index.jsp upload.jsp上傳photo.png
這是Tomcat(我正在使用Tomcat 7)還是jsp頁面或文件路徑的使用方式的問題? 如果有人有任何線索,將不勝感激。
您的圖片標記語法不正確。 Img標簽是自動關閉( <img />
),而不是兩部分( <img></img>
)。
out.println("<img src='uploads/" + fileName + "' />");
我將\\"
更改為'
以便於閱讀。HTML可以將單引號用作屬性。
通過將這兩行添加到由jsp生成的html文件的頂部來修復此問題:
out.println("<!DOCTYPE html>");
out.println("<html xmlns='http://www.w3.org/1999/xhtml'>");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.