How to return byte[] from httpok

Viewed 23

i need return byte[] , run byte[] getData = IOUtils.toByteArray(in); error java.io.IOException: closed】

public String downLoadFromUrl(String urlStr, String cookie) {
        try {
            Request request = null;
            if(cookie != null){
                request = new Request.Builder().url(urlStr).get().addHeader("Cookie", cookie).build();

            }else{
                request = new Request.Builder().url(urlStr).get().build();
            }
            Response response = okHttpClient.newCall(request).execute();

            InputStream in = response.body().byteStream();
            byte[] getData = IOUtils.toByteArray(in);
            String base64Str = Base64.getEncoder().encodeToString(getData);
            response.body().close();
            return base64Str;
        } catch (Exception e) {
            e.printStackTrace();
            log.error("下载文件失败:"+e.getMessage());
        }
        return null;
    }
0 Answers
Related