2017-12-13 4 views
2

私はこの小さな問題を抱えています。コンソールに画像を読み込むことができないことがわかります。問題の解決方法はわかりません。jspでイメージを読み込むことはできませんか?

私のコントローラ内の文字列としてデータベースから自分のイメージ名を取得しています。その名前は「image.jpg」のようなもので、フォルダ 'images'に保存されています。ここで

は私のJSPファイルです:私のインスペクタで

<c:if test="${ !(post.cover == 'empty')}"> 
    <div class="imgPub"> 
    <img src="Assets/images/${post.cover }"> 
    </div> 
</c:if> 

私は正確に書かれた全体SRCを見ることができますが、次のそれへのメッセージは、画像をロードすることは不可能と言って。

ご協力いただければ幸いです。

+3

URLを介して直接画像をロードしてみます。問題はJspには関係しません。イメージタグを出力すると言うので、使用するURLからイメージを読み込むことができないという問題があります。 –

+2

申し訳ありませんそのURLを介して私のイメージをロードする?私はそれを理解していない、私はそれが私から愚かに聞こえた場合、私は残念です.. – TaouBen

答えて

1

HttpServletが仕事をします。

使用:

が、これは重要な@WebServlet( "/画像/ *")である

をyouraddress.xxx/images/filename.png

それは、自動的にフォルダにつながりますPATHで定義され、名前に基づいてイメージを取得します。

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import java.io.File; 
import java.io.IOException; 
import java.nio.file.Files; 

@WebServlet("/images/*") 
public class ImageServlet extends HttpServlet { 

public static final String PATH = "C:/" 
/* 
linux 
public static final String PATH = "/home/images/" 
*/ 

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     String filename = request.getPathInfo().substring(1); 
     File file = new File(PATH,filename); 
     response.setHeader("Content-Type", getServletContext().getMimeType(filename)); 
     response.setHeader("Content-Length",String.valueOf(file.length())); 
     response.setHeader("Content-Disposition","inline; filename=\""+filename +"\""); 
     Files.copy(file.toPath(),response.getOutputStream()); 
    } 

} 
関連する問題