Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 加载从php脚本创建的png文件_Java_Url_Bitmap_Httpresponse - Fatal编程技术网

Java 加载从php脚本创建的png文件

Java 加载从php脚本创建的png文件,java,url,bitmap,httpresponse,Java,Url,Bitmap,Httpresponse,我正在将png文件下载到bimap bitmap = BitmapFactory.decodeStream(new URL(url).openConnection().getInputStream()); 它适用于“静态”图像,图像存储在服务器上,扩展名为.png 但是,如果图像是jsp脚本响应,则不会将任何内容下载到位图中 脚本的url http://xxxxxxxxxxxxxx:9000/xxxxxxx/jsp/ios/imageAlumno?X_ALUMNO=144244 图像在浏览器

我正在将png文件下载到bimap

bitmap = BitmapFactory.decodeStream(new URL(url).openConnection().getInputStream());
它适用于“静态”图像,图像存储在服务器上,扩展名为.png

但是,如果图像是jsp脚本响应,则不会将任何内容下载到位图中

脚本的url

http://xxxxxxxxxxxxxx:9000/xxxxxxx/jsp/ios/imageAlumno?X_ALUMNO=144244
图像在浏览器中正确显示,响应的html代码为:


有什么想法吗?

第一个猜测是:JSP代码发送了错误的图像头。当涉及到某些规则时,Java可能没有web浏览器那么宽容。。。我会首先检查发送给用户的头是什么。使用
telnet xxxxxxxxxxxx:9000
,然后输入
GET/XXXXXXX/jsp/ios/imageAlumno?X_ALUMNO=144244
假装您是一个浏览器,您将看到web服务器返回的内容。

jsp应该返回正确的
内容类型
标题,但我认为在这种情况下这并不重要。他只是将一个
InputStream
对象传递到
BitmapFactory.decodeStream
方法中。您无法从该InputStream读取HTTP头,因为InputStream只包含响应的主体。这就是我的想法…我只读取主体。无论如何,我得到了一个“解释为文档但使用MIME类型image/png传输的资源”chrome控制台上的消息警告,但与我从正确加载的其他图像中得到的消息相同。@pekechis将输入流数据流到一个文件中,然后尝试查看是否可以将其作为图像打开。@Michael:“图像在浏览器中正确显示”@DejanLekic可能Java发出HTTP请求的方式有问题您确定JSP返回PNG图像吗?它可能返回不同类型的图像,如GIF或JPEG。请确保它是png文件。位图值在BitmapFactory.decodeStream(新URL(URL).openConnection().getInputStream()之后为空)