将表单数据发送到服务器时出现颤动

问题描述 投票:0回答:1

我在向服务器发送post请求时遇到很多麻烦。它需要form data类型。

这是输入后出现的错误。

  `image: [The image must be an image.]}}

我的大部分数据都是字符串,除了intfile Image(由用户从图库中选择。)>

这是我的代码:

飞镖代码

if(_image!=null){
      setState(() {
        _isLoading = true;
      });
        SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
        var uri = NetworkUtils.host +
            AuthUtils.updateSessionRequest;
        Map<String, String> data = {"_method": "PATCH",
          "first_name": widget.first_name,
          "last_name": widget.last_name,
          "phone": widget.phone,
        "industry":widget.industry,
        "country": widget.country,
        "state": widget.state,
        "fav_quote": widget.fav_quote,
        "bio_interest": widget.bio_text,
        "terms": "1",
        "company": widget.company,
        "position": widget.job_position,
        "linked_in":widget.linkedin_profile,
        "institution": widget.institution,
        "degree": widget.degree,
        "image": _image.toString(),
        "preference[0]": widget.industry};
        String authToken = sharedPreferences.getString("token");
        try {
          final response = await http.post(
            uri,
            body: data,
            headers: {
              'Accept': 'application/json',
              'Authorization': 'Bearer ' + authToken,
            },
          );

          final responseJson = json.decode(response.body);
          print(responseJson.toString());
          if (response.statusCode == 200 || response.statusCode == 201) {

              NetworkUtils.showToast("Profile successfully update!");
            });
          } else{
            setState(() {
              _isLoading = false;
            });
            NetworkUtils.showSnackBar(_scaffoldKey, 'An error occurred. Please try again');
          }
          return responseJson;
        } catch (exception) {
          print(exception.toString());
          setState(() {
            _isLoading = false;
          });
          NetworkUtils.showSnackBar(_scaffoldKey, 'An error occurred. Please try again');
        }
    } 
  }

我在向服务器发送发布请求时遇到了很多麻烦。它需要一个表单数据类型。这是输入后出现的错误。 `图像:[图像必须是图像。]}}我的大部分...

json flutter post form-data
1个回答
0
投票

您需要像这样传递图像

© www.soinside.com 2019 - 2024. All rights reserved.