Отправка содержимого файла через HTTP с использованием Java

У меня есть одно требование в моем приложении сказать. Мне нужно получить содержимое файла с диска и отправить его по внешнему URL-адресу, и я хочу подтвердить, что внешний URL-адрес получил содержимое или нет.

В моем приложении пользователь может выбрать один документ и сказать зритель, чтобы он отображал выбранный файл преобразованной версии. Для преобразования этого файла мне нужно отправить выбранный файл по URL-адресу приложения.Net, который преобразует его в файл 3D-моделирования и отобразит ответ в моем браузере.

Вот мой код, который я использую для отправки файла первым.

try{
  File f = new File("/home/Desktop/rename.txt");
  PostMethod filePost = new PostMethod("external URL");
  Part[] parts = { new FilePart("file", f) };
  filePost.setRequestEntity(new MultipartRequestEntity(parts,
  filePost.getParams()));
  HttpClient client = new HttpClient();
  int status = client.executeMethod(filePost);
  System.out.println(status);
}catch(Exception e){
  e.printStackTrace();
}

1 ответ

Решение

Если я правильно понимаю, сервер по внешнему URL должен преобразовать загружаемый вами файл и вернуть преобразованную версию файла. Таким образом, эта преобразованная версия будет содержаться в теле ответа сервера. Так что недостаточно просто проверить статус, но вы должны получить сам ответ.

Вы можете достичь этого с помощью client.execute() вместо client.executeMethod() примерно так:

HttpResponse response = client.execute(filePost);
InputStream is = response.getEntity().getContent();

Теперь вы можете читать преобразованные данные из входного потока is и продолжайте, как хотите (например, сохраните на диск и т. д.)

Другие вопросы по тегам