В Android Используется ли составной объект для загрузки файла, так как я не вижу ни одного примера или подробного описания этого класса - PullRequest
1 голос
/ 07 августа 2020

Меня попросили поискать загружаемый файл с помощью MultiPartEntity в android Однако я много искал, но не смог найти никакого решения, позволяющего загрузить файл с помощью MultiPartEntity. кажется, что он используется только для загрузки файлов .

Я не смог найти подробного описания, используется ли он для загрузки или нет. так беспомощно мне пришлось задать вопрос о stackoverflow. Если да, может ли кто-нибудь поделиться ссылкой или фрагментом кода для того же. Если нет, сообщите и эту информацию. Я буду очень рад. Заранее большое спасибо.

1 Ответ

0 голосов
/ 07 августа 2020

Вы можете загрузить содержимое файла по следующему URL-адресу:

MultipartEntityBuilder builder = MultipartEntityBuilder.create();
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(/*Download URL*/);
/* If you want custom timeout time use this
int TIMEOUT_MILLIS = 1000;
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(TIMEOUT_MILLIS).setConnectTimeout(TIMEOUT_MILLIS).setConnectionRequestTimeout(TIMEOUT_MILLIS).build();
*/
RequestConfig requestConfig = RequestConfig.DEFAULT;
httpPost.setConfig(requestConfig);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
HttpEntity httpEntity = builder.build();
httpPost.setEntity(httpEntity);
HttpResponse response = httpClient.execute(httpPost);
String responseLine = null;
if (response != null && response.getStatusLine().getStatusCode() == 200) {
    BufferedReader bufferedReader = null;
    InputStreamReader streamReader = null;
    String line = null;
    try {
        streamReader = new InputStreamReader(response.getEntity().getContent());
        bufferedReader = new BufferedReader(streamReader);
        StringBuilder responseBuilder = new StringBuilder();
        while ((line = bufferedReader.readLine()) != null) {
            responseBuilder.append(line);
        }
        responseLine = responseBuilder.toString();
    } catch (Exception exception) {
        //Handle Exceptions
    } finally {
        bufferedReader.close();
        streamReader.close();
    }
}
...