![](/img/trans.png)
[英]How to send array in a formdata in Flutter using Dio package?
[英]How to post an object in formData in flutter Dio package?
我有一個“modelCharacteristics”對象,其中包含 modelHeight、modelWeight 和 modelSize 對象。 如何將 JSON 對象插入 dio 的 FormData 以發布它?
我試圖像在 Postman 中那樣做,但這不起作用。
var formData = dio.FormData.fromMap({
'category': categoryId,
'name': name,
'price': int.parse(price),
'color': color,
'size': sizes,
'description': description,
'material': material,
'countryProducer': countryProducer,
"style": style,
"countInStock": int.parse(countInStock),
"modelCharacteristics[modelHeight]": modelCharacteristics.modelHeight.toInt(),
"modelCharacteristics[modelWeight]": modelCharacteristics.modelWeight.toInt(),
"modelCharacteristics[modelSize]": modelCharacteristics.modelSize,)}
事實上,我發布的代碼是正確的! 存在導致發布請求無法正常工作的內部代碼錯誤。 但是,回顧一下未來的軟件工程師:
例如,如果您有一個像這樣的復雜 JSON 對象,並且想要使用 FormData 進行 POST:
{
"Model" : { "ModelA" : "1", "ModelB" : "2" }
}
然后像這樣寫你的字段
"Model[ModelA]": "1",
"Model[ModelB]": "2"
要使用 formdata 發送 json 數據,您需要通過 json 編碼將其作為 MultiPartFile 發送,並將 Multipartfile 的內容類型指定為“application/json”。 像這樣:
final data = FormData.fromMap({
"file": await MultipartFile.fromFile(
path,
filename: name,
),
"jsonData": MultipartFile.fromString(
jsonEncode({"name": "user_name"}),
contentType: MediaType.parse('application/json'),
),
},
);
添加其余代碼以獲得更准確的答案,請查看https://pub.dev/packages/dio文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.