liuqiang6667
l_q_p_l
采纳率33.3%
2016-04-22 02:18 阅读 2.0k

网络图片 转base64问题

1
 public static String imgPathToBase64(String imgFile) {
        InputStream in = null;
        byte[] data = null;
        try {
            URL url = new URL(imgFile);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            in = conn.getInputStream();
            ByteArrayOutputStream output = new ByteArrayOutputStream();
            byte[] buffer = new byte[2048];
            int n = 0;
            while (-1 != (n = in.read(buffer))) {
                output.write(buffer, 0, n);
            }
            data = output.toByteArray();
            BASE64Encoder encoder = new BASE64Encoder();
            return encoder.encode(data);
        } catch (IOException e) {
            e.printStackTrace();
            return "";
        }

    }

这段代码在以前的工程能把网络图片转出正确的base64编码
现在 无论我传的url图片是什么 转出来的结果都一样 而且不是那张图片的base64编码

究竟什么原因 ,我实在想不通了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • w172087242 little_how 2016-04-22 02:26

    图片url是正确的http地址吗?

    如果是,最好等待http返回200的成功码再进行读写,
    设置connect的读写:conn.setDoInput(true);
    然后试试,读写设置在getInputStream()方法上。

    点赞 评论 复制链接分享

相关推荐