РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1121 of 1163 menu

Метод ofFile

Метод ofFile класса HttpRequest.BodyPublishers создает объект BodyPublisher, который берет тело HTTP-запроса из указанного файла. В первый параметр мы передаем путь к файлу в виде объекта Path. Метод удобно использовать, когда нужно отправить на сервер содержимое файла, например, при загрузке документа или изображения.

Прочитанное содержимое файла передается в теле запроса как поток байтов. Метод возвращает HttpRequest.BodyPublisher, который затем передается в метод POST или PUT класса HttpRequest.Builder.

Синтаксис

HttpRequest.BodyPublishers.ofFile(Path path)

Пример

Давайте создадим тело запроса из файла и выведем объем содержимого в байтах:

import java.net.http.HttpRequest; import java.nio.file.Path; public class Main { public static void main(String[] args) { Path path = Path.of("data.txt"); HttpRequest.BodyPublisher body = HttpRequest.BodyPublishers.ofFile(path); System.out.println(body.contentLength()); } }

Результат выполнения кода:

12

Пример

Давайте отправим содержимое файла на сервер POST-запросом:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.file.Path; public class Main { public static void main(String[] args) throws Exception { Path path = Path.of("data.txt"); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com/upload")) .POST(HttpRequest.BodyPublishers.ofFile(path)) .build(); HttpClient client = HttpClient.newHttpClient(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString() ); System.out.println(response.statusCode()); } }

Результат выполнения кода:

200

Смотрите также

  • класс HttpRequest.BodyPublishers,
    который создает тела HTTP-запросов
  • метод ofString,
    который создает тело запроса из строки
  • метод noBody,
    который создает пустое тело запроса
  • метод POST,
    который задает POST-запрос с телом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить