- 嗨,我正在尝试将 Post 请求从我的颤振(dio)发送到我的烧瓶 restful-api。
- 我想在表单数据中提供我的请求正文,因为我需要发送一个图像文件。
- 我在邮递员的帮助下构建了这个烧瓶应用程序,它可以很好地处理我的邮递员的表单数据。
- 但是当我尝试使用颤振的 dio 包将表单数据发布到我的烧瓶时,我在烧瓶中遇到错误,如下所述。
dio代码是:
Future<List> apiRequest(int N ,File file) async {
String url = "http://10.0.2.2:5000/";
// HttpClient httpClient = new HttpClient();
Post _post = Post();
var bytes = await file.readAsBytes();
//TODO : dio post request
var dio = new Dio();
MultipartFile multipartFile = new MultipartFile.fromBytes(bytes);
FormData formData = new FormData();
dio.options.headers = {"content-type" :"multipart/form-dataitem"};
formData.fields.add(MapEntry("index" , N.toString()));
formData.files.add(MapEntry("file",multipartFile));
print(formData);
await dio.post(url, data: formData,options: Options(
method: 'POST',
responseType: ResponseType.json // or ResponseType.JSON
)).then((response){
//response stuffs
});
邮递员的请求: 这张图片由我的邮递员的 Post 请求组成,效果很好
我使用此表单数据的烧瓶声明是:
fromJson = request.form['index']
Img = request.files['file']
我的烧瓶控制台中的错误是:
{exception: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.}