Download binary file from OKHTTP

前端 未结 6 1828
不知归路
不知归路 2020-11-22 11:53

I am using OKHTTP client for networking in my android application.

This example shows how to upload binary file. I would like to know how to get inputstream of binary

6条回答
  •  失恋的感觉
    2020-11-22 12:45

    Better solution is to use OkHttpClient as:

    OkHttpClient client = new OkHttpClient();
    
                Request request = new Request.Builder()
                        .url("http://publicobject.com/helloworld.txt")
                        .build();
    
    
    
                client.newCall(request).enqueue(new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {
                        e.printStackTrace();
                    }
    
                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
    
                        if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
    
    //                    Headers responseHeaders = response.headers();
    //                    for (int i = 0; i < responseHeaders.size(); i++) {
    //                        System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
    //                    }
    //                    System.out.println(response.body().string());
    
                        InputStream in = response.body().byteStream();
                        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                        String result, line = reader.readLine();
                        result = line;
                        while((line = reader.readLine()) != null) {
                            result += line;
                        }
                        System.out.println(result);
    
    
                    }
                });
    

提交回复
热议问题