我想发送一个包含 JSON 数组的复杂 JSON 对象的文件。我该怎么做?
我想发送这种FormData。 以下是我的实现方式:
final data = {
"id": 60,
"first_name": "Amit",
"last_name": "Sharma",
"email": "j.purohit198@gmail.com",
"phone_no": "1111111111",
"addr": "Lko",
"status": "VERIFIED",
"total_funds": 0,
"bankDetails": [
{"name": "ASD", "acc": "123"},
{"name": "ASDFG", "acc": "1234"}
]
};
if (file != null) {
data['pic'] =
MultipartFile.fromFileSync(file.path, filename: 'profile_image');
}
final formData = FormData.fromMap(data);
final formData = FormData.fromMap(data);
final res = await _dio
.post(
'$kBaseUrl$kUploadPlanterStory',
options: Options(
headers: headers,
contentType: Headers.formUrlEncodedContentType,
),
data: formData,
)
.catchError((e) => throw getFailure(e));
print(res);
}
最佳答案
目前您正在使用 urlEncoded
对整个 data
map 进行编码,这不是您想要的。如果您想使用不同的序列化方法对请求的特定部分进行编码,则必须手动进行:
final data = {
// urlEncoded fields
// ...
"bankDetails": jsonEncode([
{"name": "ASD", "acc": "123"},
]),
};
//...
data: FormData.fromMap(data)
关于flutter - 如何使用 Dio 包在 Flutter 中的 formdata 中发送数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65735799/