如何将java Inputstream传递给Javascript
我正在用jquerymobile和SpringMVC开发一个应用程序。我将在控制器中获得一个作为Inputstream的图像,下一步是将该图像传递给Javascript,以便在与JqueryMobile的对话框中显示 如何将这个java Inpustream图像传递给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
另外,控制器是通过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();