如何创建一个从Glide请求图像发送图像的服务器?

时间:2015-08-31 05:46:44

标签: java android android-glide

我使用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时,没有显示图像

1 个答案:

答案 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)并记录参数以查看正在发生的事情。