Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将java Inputstream传递给Javascript_Java_Javascript_Jquery Mobile - Fatal编程技术网

如何将java Inputstream传递给Javascript

如何将java Inputstream传递给Javascript,java,javascript,jquery-mobile,Java,Javascript,Jquery Mobile,我正在用jquerymobile和SpringMVC开发一个应用程序。我将在控制器中获得一个作为Inputstream的图像,下一步是将该图像传递给Javascript,以便在与JqueryMobile的对话框中显示 如何将这个java Inpustream图像传递给javascript 另外,控制器是通过jQueryMobileAJAX调用的,因此我有onSuccess方法等待使用控制器返回的数据制作一些东西。为什么不在div上使用Jquery从java加载该图像 var url = 'myi

我正在用jquerymobile和SpringMVC开发一个应用程序。我将在控制器中获得一个作为Inputstream的图像,下一步是将该图像传递给Javascript,以便在与JqueryMobile的对话框中显示

如何将这个java Inpustream图像传递给javascript


另外,控制器是通过jQueryMobileAJAX调用的,因此我有onSuccess方法等待使用控制器返回的数据制作一些东西。

为什么不在div上使用Jquery从java加载该图像

var url = 'myimage.com/image_java_url?'+dataToSend
$('#myDiv').load(url, function(response, status, xhr) {
    if (status = "success"){
        $('#myDiv').html(response);
    }
});

我假设您正在创建一个REST端点来接收图像。如果是这样,您可以让Spring端点将HttpServletResponse作为参数,并将图像流式输出到servlet outputstream。 将inputstream包装在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);
    }

我对Spring没有太多经验,但我会在JavaEE中使用这个类。这将允许您使用response.ResponseBuilder构建http响应,包装您的InputStream

i、 e


在我看来,你需要提取原始字节。。。然后,看看,这可能会有帮助,为什么需要使用ajax传递图像?为什么不使用常规请求->创建包含所有动态参数的图像url。例如test.com/getImage/id13.png getImage.png?id=13Less,谢谢,我来看看。Zvezdochet,我正在jquerydialog中弹出这个检索图像,我正在使用ajax调用,如果我在URL中获取图像,但在inputstreamHi Thomas中,这将是一个选项,这只是我现在正在做的,但没有成功的结果。谢谢:
Response.ok(inputStream, MEDIA_TYPE.APPLICATION_OCTET_STREAM).build();