1

jquerymobile と Spring MVC を使用してアプリケーションを開発しています。コントローラーで Inputstream として画像を取得しています。次のステップは、この画像を Javascript に渡して、JqueryMobile とのダイアログで表示することです。

このJava Inpustreamイメージをjavascriptに渡すにはどうすればよいですか?

PS。コントローラーはjquerymobile ajaxを介して呼び出されるためonSuccess、コントローラーから返されたデータで何かを作成するためにメソッドが待機しています。

4

3 に答える 3

0

divでJqueryを使用してJavaからその画像をロードしないのはなぜですか?

var url = 'myimage.com/image_java_url?'+dataToSend
$('#myDiv').load(url, function(response, status, xhr) {
    if (status = "success"){
        $('#myDiv').html(response);
    }
});
于 2012-10-05T11:31:42.083 に答える
0

Spring の経験はあまりありませんがjavax.ws.rs.core.Reponse、Java EE のクラスを使用します。これにより、 を使用して http 応答を作成しResponse.ResponseBuilderInputStream.

すなわち

Response.ok(inputStream, MEDIA_TYPE.APPLICATION_OCTET_STREAM).build();
于 2012-10-05T13:12:53.610 に答える
0

イメージを受信するための REST エンドポイントを作成していると仮定します。その場合、Spring エンドポイントに HttpServletResponse を引数として取り、イメージをサーブレット出力ストリームにストリーミングさせることができます。入力ストリームを BufferedInputStream でラップして、バッファリングを処理できるようにします。

HttpServletResponse を取得するには、メソッドに引数として追加するだけです。

@RequestMapping(value = "/something")
public void helloWorld(HttpServletResponse response)  {
    InputStream imageStream = .....;

    OutputStream oSteam = response.getOutputStream();
    InputStream stream = new BufferedInputStream(imageStream ); 
    int b = -1;
    while((b = stream.read())> -1){
        oSteam.write(b);
    }
于 2012-10-05T12:22:10.217 に答える