【问题标题】:How to send a array in MultipartRequest in flutter?如何在 Flutter 中发送 MultipartRequest 中的数组?
【发布时间】:2020-08-30 05:45:36
【问题描述】:

这是我正在使用邮递员作为数组测试我的 api

但是如何使用 MultipartRequest 发送数组

var uri = Uri.parse(Constants.BASEURL + Constants.KEYEORD_CREATE_TENANACY);
  Map<String, String> headers = {
    "Accept": "application/json",
    "Authorization": token
    };
   var request = new http.MultipartRequest("POST", uri);
   request.headers.addAll(headers);
   request.fields['property_usage'] = property_use;
   request.fields['unit_id'] = unitlist;               // here i want unit_id to array
   var response = await request.send();
   print("Tenancy Add Result: ${response.statusCode}");
    if (response.statusCode == 200) {
     print(response);
    }

【问题讨论】:

  • 你有什么办法解决这个问题吗?

标签: json flutter dart postman


【解决方案1】:

'''

request.fields['unit_id[n]'] = "${arrUnitlist[n]}";

for(int i = 0; i < arrUnitlist; i++){
  request.fields['unit_id[$i]'] = '${arrUnitlist[i]}';
}

'''

为我工作

【讨论】:

    【解决方案2】:

    可以打开 Multipart 定义并将 final fields = 更改为 final fields = 或您想要的任何其他数据类型。

    【讨论】:

    • 嗨图拉布。感谢您的回答,但不是很清楚。不能提供代码吗?亲切的问候。
    【解决方案3】:

    您可以像这样添加unit_id 的数组数据:

    var request = new http.MultipartRequest("POST", uri);
    request.headers.addAll(headers);
    request.fields['property_usage'] = property_use;
    request.fields['unit_id[0]'] = "unitlist1";
    request.fields['unit_id[1]'] = "unitlist2";
    request.fields['unit_id[2]'] = "unitlist3";
    var response = await request.send();
    

    【讨论】:

      【解决方案4】:

      这是不可能的,request.fileds 是一个Map&lt;String,String&gt;,所以你必须提供一个String,而不是一个数组。您使用 MultipartRequest 是否有特定原因?它用于将文件发送到服务器,如果您不这样做,您可以使用简单的http 函数,如put,我认为这对您来说更相关。从putMultipartRequest 的官方文档中获取更多详细信息。

      【讨论】:

      • 是的,我正在将图像发送到服务器!如何解决这个问题
      猜你喜欢
      • 2021-10-25
      • 2021-07-16
      • 2023-03-31
      • 2020-06-16
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 2014-11-02
      • 2022-01-01
      相关资源
      最近更新 更多