Попробуй это.Я бы посоветовал создать себе простой дартс-проект, если вы еще этого не сделали.Таким образом, вы можете тестировать вещи без использования эмулятора телефона и т. Д.
main() async {
http.MultipartRequest request =
new http.MultipartRequest('POST', Uri.parse(url));
request.headers['Prediction-Key'] = '3f4a......'; // todo - insert real value
request.files.add(
new http.MultipartFile.fromBytes(
'image',
bytes,
filename: 'somefile', // optional
contentType: new MediaType('image', 'jpeg'),
),
);
http.StreamedResponse r = await request.send();
print(r.statusCode);
}
Если файл находится на диске, а не в памяти, используйте взамен именованный конструктор fromPath
.Экспериментируйте с различными типами носителей.Я использовал image/jpeg
, но вы можете попробовать application/octet-stream
.
В качестве отступления, на вашем первом скриншоте вы показываете тип контента, но Postman игнорирует это, так как общий тип контента переопределяется несколькими частями.форма.Снимите галочку с этой строки в Postman, чтобы доказать это.
Недавно в SO возник другой вопрос, когда сервер неправильно ожидал, что заголовки будут чувствительными к регистру.В почтальоне попробуйте еще раз с prediction-key
в нижнем регистре, чтобы доказать, что сервер не против строчных заголовков (это то, что использует Dart).