![](/img/trans.png)
[英]Converting object to an encodable object failed: Instance of '_File' Flutter
[英]Converting object to an encodable object failed: Instance of 'FormData' error when uploading file
我尝试将图像上传到服务器,但出现错误Converting object to an encodable object failed: Instance of 'FormData'
我的发帖方式
void _upload(File file) async {
String fileName = file.path.split('/').last;
FormData data = FormData.fromMap({
"file": await MultipartFile.fromFile(
file.path,
filename: fileName,
),
});
Dio dio = new Dio();
await dio.post(apiEndpoint + "users/avatar",
options: Options(headers: {
"Authorization":
apiToken
}),
data: {
"image": data,
});
}
我应该在我的代码中更改什么?
您不能将任意 class 实例转换为 JSON。
一种选择是向 JsonEncoder() 构造函数(通过 toEncodable 参数)提供自定义 function。 这个自定义 function 应该 map 将您的自定义对象转换为 JsonEncoder 已经知道如何处理的类型(即数字、字符串、布尔值、null、列表和映射字符串)。
https://api.dartlang.org/stable/1.24.3/dart-convert/JsonEncoder-class.html
https://pub.dartlang.org/packages/json_serializable是一个 package 生成代码,因此您无需手动编写它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.