0

我正在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();

我从浏览器进行了测试,它工作正常,但是当我Glide从 android 调用使​​用时,没有显示图像

4

1 回答 1

1

可能会Content-Length混淆滑行,因为您在撒谎,原始文件长度可能与重新编码的 JPG 输出不同。

您也在撒谎,Content-Type因为它是 JPG,而不是您所说的 PNG,但我认为 Glide 会忽略这一点。

我认为最好将imageLocation' 字节发送到output,然后Content-Length可以简单地预测。

我仍在试图弄清楚如何从 Glide 获得任何异常(如果存在)

Google Groups 讨论中所述,请阅读https://github.com/bumptech/glide/wiki/Debugging-and-Error-Handling,我建议您在.listener(new RequestListener...)之前添加.into(imageView)并记录参数以查看发生了什么。

于 2015-10-01T10:56:08.590 回答