Отправка содержимого файла через 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
и продолжайте, как хотите (например, сохраните на диск и т. д.)