我使用Glide
作为我的客户端图像加载器。
我从java创建自己的服务器。
我的服务器代码:
File f = new File(imageLocation);
try{
bi = ImageIO.read(f);
}catch (Exception e){
f = new File(imageLocation);
bi = ImageIO.read(f);
}
respond = "HTTP/1.1 200 OK\r\n";
respond += "Date: " + LocalDateTime.now() + "\r\n";
respond += "Content-Type: image/png\r\n";
respond += "Content-Length: " + f.length() + "\r\n";
respond += "Connection: keep-alive\r\n";
respond += "\r\n";
output.write((respond).getBytes());
output.flush();
ImageIO.write(bi,"JPG",output);
output.flush();
我在浏览器中测试过它工作正常,
但是当我从android使用Glide
时,没有显示图像
答案 0 :(得分:1)
Content-Length
可能会混淆滑行,因为你撒谎,原始文件长度可能与重新编码的JPG输出不同。
你也对Content-Type
说谎,因为它是JPG,而不是你说的PNG,但我认为Glide会忽略它。
我认为将imageLocation
的字节发送到output
会更好,然后可以简单地预测Content-Length
。
如果存在的话,我仍然想知道如何从Glide获得任何异常
正如Google Groups discussion中所述,请阅读https://github.com/bumptech/glide/wiki/Debugging-and-Error-Handling,我建议您在.listener(new RequestListener...)
之前添加.into(imageView)
并记录参数以查看正在发生的事情。