簡體   English   中英

在JSP頁面中,使用'out.print'不會顯示上載的圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM