Вопрос

Я хочу отправить содержимое файла как часть HTTP-запроса с помощью Apache HttpClient, но не могу понять, как передать содержимое файла в теле запроса.

Это было полезно?

Решение

Вы не указали формат....

Скорее всего, вы захотите отправить POST-запрос, содержимое будет multipart/данные формы MIME-тип.Это эмулирует то, что браузер отправляет из элемента формы <INPUT type="file" ...>.Это требует довольно сложного анализа на стороне сервера, чтобы извлечь несколько частей из тела и правильно извлечь данные файла из других полей (если таковые имеются).К счастью, Commons-fileupload делает это отлично.Первый ответ относительно ФилеЧасть совершенно верно.

В качестве альтернативы вы можете просто опубликовать необработанное содержимое файла в качестве тела запроса, используя ИнпутStreamRequestEntity.Это может быть намного проще, если вы пишете собственную серверную часть для получения данных.Серверная часть так же проста, как потоковая передача входного потока запроса на диск.Я использую этот метод для загрузки с помощью Google Gears.

Другие советы

Ознакомьтесь с FilePart и связанные с ним.

Вот пример .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top