jspで画像をロードしたいのですが、コントローラメソッドを呼び出しています。「http://localhost:8080/SocialNetworkingApp/imageController/life.jpg.doが失敗しましたリソースをロードする:サーバーは406(Not Acceptable)のステータスで応答しました。私は@PathVariableを使って画像を取得しています。@PathVariableアノテーションと* .doのURLパターンを使用して.jpg形式の画像ファイルを取得する
次は私のコードです: -
私は私のコントローラで
<c:forEach items="${post.imageNames}" var="imageObj">
<img src="/SocialNetworkingApp/imageController/${imageObj}.do" alt="image_post"/>
</c:forEach>
を使用していますJSP内で次のように、私は、要求のマッピングを行っています。私のweb.xmlに
@RequestMapping(value="/imageController/{imageName}",produces = { MediaType.IMAGE_JPEG_VALUE,MediaType.IMAGE_GIF_VALUE, MediaType.IMAGE_PNG_VALUE })
@ResponseBody
public Raster getImageForPost(@PathVariable String imageName){
LOG.info("Entry :: getImageForPost");
BufferedImage bufferedImageForPost = null;
final org.springframework.http.HttpHeaders headers = new org.springframework.http.HttpHeaders();
try{
headers.setContentType(MediaType.IMAGE_JPEG);
LOG.info("imageName-->"+imageName);
File imageFromMongo = new File(IMAGE_FROM_PATH+imageName);
GridFSDBFile imageFile=MongoUtility.getImageFileFromMongo(imageName);
imageFile.writeTo(imageFromMongo);
bufferedImageForPost=ImageIO.read(imageFromMongo);
}
catch(IOException e){
LOG.error("Error :: while fetching image from the GridFs post",e);
}
LOG.info("Exit :: getImageForPost");
return bufferedImageForPost.getData();
}
、私はURLパターンに私のサーブレットをマッピングしています* .doという
<servlet>
<servlet-name>socialDispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>socialDispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
特定のパスにイメージを保存するためのコントローラのコードは正常に動作しますが、でていますjspに画像ファイルを送信するときに、エラーが発生しています。 * .jpgファイルは魅力的だと思います。gettinh * .jpg.doファイルです。 何か助けていただければ幸いです。
ありがとうございました。
実際に私は質問をうまく伝えていないと思います。私はファイルをアップロードする際に問題に直面していません。 ファイルをデータベース(Mongo)に保存しました。イメージをフェッチしてjspに表示する必要があります。 しかし、考えているのは、1つ以上の画像があるということです。 <:forEachの項目= "$ {post.imageNames}" VAR = "imageObj" C> だから、だから、私は のimgタグのsrcからコントローラにしたいフライ.IEでそれを取得したいです私はこのように使ったのです。しかし、いくつかの "非受け入れエラー406"が来ています。 – Shreekanth