0
  • 嗨,我正在尝试将 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.}
4

0 回答 0