У меня есть следующий код для загрузки файла с HTTP-клиентом Apache (org.apache.http.client):
public static void main(String[] args) throws Exception
{
String fileName = "test.avi";
File file = new File(fileName);
String serverResponse = null;
HttpParams params = new BasicHttpParams();
params.setParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, true);
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpClient client = new DefaultHttpClient(params);
HttpPut put = new HttpPut("http://localhost:8080/" + fileName);
FileEntity fileEntity = new FileEntity(file, "binary/octet-stream");
put.setEntity(fileEntity);
HttpResponse response = client.execute(put);
HttpEntity entity = response.getEntity();
if (entity != null)
{
serverResponse = EntityUtils.toString(entity);
System.out.println(serverResponse);
}
}
Это работает хорошо, но теперь я хочу иметь индикатор выполнения, который показывает ход загрузки файла. Как это можно сделать? Я нашел фрагмент кода в Загрузка файла с помощью Java (с индикатором выполнения), но он предназначен для Apache HTTP Client 3 (org.apache.commons.httpclient) и RequestEntity класса не существует в Apache HTTP Client 4.; (
Может у кого-то из вас есть подход?
Много приветствий
Бенни