我有一个上传图像的功能,但服务器没有收到任何东西,我得到500状态代码。我确定服务器没问题。当我从邮递员发送邮件请求时它可以工作!这是我的功能:
uploadPrescriptionToAll(File file, data) async {
String convertedFilePath = await convertImage(file);
String token = await getToken();
Response response;
Dio dio = new Dio();
dio.options.baseUrl = "http://x.x.x.x:x";
FormData formData = new FormData.from({
"image":
new UploadFileInfo(new File(convertedFilePath), "image.jpg"),
"data": data,
});
try {
response = await dio.post("/api/images",
data: formData,
options: Options(headers: {
"Authorization": token,
"Content-Type": "multipart/form-data"
}));
} catch (e) {
print("Error Upload: " + e.toString());
}
print("Response Upload:" + response.toString());
}
如何正确发布文件(表单数据)?还有另一种方法吗?
尝试使用该文件:
var head = {"Authorization": "Bearer ${token} "};
var response = await dio.post(api,
data: formData, options: Options(headers: head));
FormData formData = new FormData.from({"file": new UploadFileInfo(image, image.path)});