我希望将一张图片以multipart文件的形式发送到服务器。
首先,我尝试使用http.post:
var response = await http.post(
Uri.parse('url.php'),
headers:{ "Content-Type":"multipart/form-data" } ,
body: {
"fichier": base64img
}
);
我遇到了这个错误:
无效状态:不能使用内容类型“multipart/form-data”设置请求的正文字段。
查看这个主题的答案后,我尝试使用dio package:
var dio = Dio();
var formData = FormData.fromMap({
'fichier': await MultipartFile.fromFile(filePath, filename: 'upload')
});
var response = await dio.post(
'url.php',
data: formData
);
我遇到了这个错误:
错误:不支持的操作:MultipartFile 仅在 dart:io 可用时受支持。
已经有一个问题在这里 开启 了。
最后,我尝试使用 http 包 中的 MultipartRequest :
var url = Uri.parse('url.php');
var request = new http.MultipartRequest("POST", url);
request.files.add(
await http.MultipartFile.fromPath(
"fichier",
filePath
)
);
request.send().then((response) => print(response));
我遇到了和使用dio包时完全相同的错误。
如果有人有解决方案,我会非常乐意接受。