Можете объяснить, в чем заключается формат multipart/form-data и для каких целей он обычно используется при передаче данных через HTTP?
Answer from AI
sobes.tech AI
Формат multipart/form-data используется для передачи данных в HTTP-запросах, когда нужно отправить не просто текстовые поля, а файлы или бинарные данные вместе с обычными параметрами. В отличие от стандартного application/x-www-form-urlencoded, где все данные кодируются в строку, multipart/form-data разбивает тело запроса на части (части разделены специальными границами), каждая из которых содержит отдельное поле формы с заголовками и содержимым.
Это позволяет, например, отправлять изображения, документы или другие файлы вместе с текстовыми данными в одном запросе.
Пример использования в Flutter с пакетом http для отправки файла и параметров:
import 'package:http/http.dart' as http;
var request = http.MultipartRequest('POST', Uri.parse('https://example.com/upload'));
request.fields['username'] = 'user123';
request.files.add(await http.MultipartFile.fromPath('file', '/path/to/file.jpg'));
var response = await request.send();
if (response.statusCode == 200) {
print('Успешно загружено');
}
Таким образом, multipart/form-data — это стандарт для передачи сложных форм с файлами через HTTP.