gpt4 book ai didi

flutter - 我如何在 flutter 中发送多部分请求中的 map 对象

转载 作者:IT王子 更新时间:2023-10-29 07:19:23 25 4
gpt4 key购买 nike

在这里,我试图在多部分请求中发送对象映射,但我的请求是一个字符串,而不是 JSON 格式,请建议我做正确的请求。提前致谢。

我已经尝试了多部分请求,但我的请求应该是正确的形式..

var getApiUrl = 'http://malik-env-test.ap-south-1.elasticbeanstalk.com/webapi/post/create';

Map userData = {

"creator": {
"creatorId": "298",
"createDate": "2018-12-21 20:44:45.8"
},
"info": "$campusInfo",
"title": "$eventName",
"postCampusId": "5642"

};

Uri uri = Uri.parse(getApiUrl);
http.MultipartRequest request = new http.MultipartRequest('POST', uri);
request.fields['creator'] = userData['creator'];
request.fields['info'] = '$campusInfo';
request.fields['title'] = '$eventName';
request.fields['postCampusId'] = '5642';
request.files.add(await http.MultipartFile.fromPath('image_file1', imagePath, contentType: new MediaType('application', 'x-tar')));
// var body = json.encode(request);
print(request);
http.StreamedResponse response = await request.send();
String jsonData = response.toString();
print(jsonData);ddd

最佳答案

尝试:

request.fields['userData'] = json.encode(userData);

您需要从 API 规范或服务器所有者那里找出用于 json 的字段名称。我假设了 userData

如果您想控制媒体类型、编码等,请将其添加为这样的文件:

  request.files.add(
http.MultipartFile.fromBytes(
'the_form_field name',
utf8.encode(json.encode(userData)),
contentType: MediaType(
'application',
'json',
{'charset': 'utf-8'},
),
),
);

关于flutter - 我如何在 flutter 中发送多部分请求中的 map 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56350512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com