3
回答
Javaweb为什向浏览器多次响应数据,但是浏览器实际只得到了一张图片呢?
华为云4核8G,高性能云服务器,免费试用   
//		File girlss = new File("e:/girls");
//		File [] girls = girlss.listFiles();
//		for (File g:girls) {
//			byte [] da = new byte[1024*1024];
//			InputStream is = new FileInputStream(g.getAbsolutePath());
//			System.out.println(g.getAbsolutePath());
//			for (int len=0;(len=is.read(da))!=-1;) {
//			}
//			out.write(da); 多次发送数据
//		}

 

<无标签>
举报
CielSwift
发帖于2周前 3回/106阅
共有3个答案 最后回答: 1周前

虽然没你这么无聊,搞这么个奇葩的程序。但是可以提供两个猜测,一种情况是out.write(da),只写入不发送(第二次写入覆盖第一次的结果),out.flush()或者out.close()才会发往客户端,这种情况下,你得到是list中的最后一张照片。第二种情况是客户端得到了所有照片的数据,但是由于数据格式原因,只会显示其中第一张或者最后一张图片,这个你看下前台得到的图片文件大小就清楚了.

--- 共有 2 条评论 ---
MZHS 回复 @CielSwift : 那你就把这张图片保存下来看看大小,如果和第一张的大小一样,那么就说明out.write是发送到客户端了,后面的数据客户端就不接收了。如果是所有图片大小的总和,那就说明数据也收了,只不过只显示第一张图片,这时你可以用命令将多个图片文件合并为一张,看看Windows如何显示 1周前 回复
CielSwift不是,是第一张图片.而且用谷歌检查,页面上也是只下载了一张 2周前 回复
顶部