Flutter:我正在使用 post api 将文件上传到数据库。但它给了我一个错误
Posted
技术标签:
【中文标题】Flutter:我正在使用 post api 将文件上传到数据库。但它给了我一个错误【英文标题】:Flutter: I am uploading a file to database using post api. But it gives me a bug 【发布时间】:2022-01-14 20:32:53 【问题描述】:我正在使用文件选择器来选择文件。文件可以是 png jpg 或 pdf。
FilePickerResult? result =
await FilePicker.platform.pickFiles(
type: FileType.custom,
allowMultiple: true,
allowedExtensions: ['jpg', 'png', 'pdf'],
allowCompression: true,
);
setState(()
if (result!.files.length != 0)
_con!.thumbnail = result.files;
);
以下是使用Dio库使用post api将其上传到数据库的代码
Future uploadFile(BuildContext context) async
setState(()
isFormLoading = true;
);
var R;
Dio D = Dio();
D.options.headers =
'Content-type': 'multipart/form-data',
// 'Content-type': 'application/json',
'Accept': 'application/json',
;
FormData formData = FormData.fromMap(
"image": DD.MultipartFile.fromFile(thumbnail.elementAt(0).path!),
);
R = await D.post(BASE_URL + "api/v2/upload/21", data: formData);
dynamic Response = R.data;
print('Response is >>>>>>');
print(R);
// BotToast.showText(text: Response["success"].toString());
setState(()
isFormLoading = false;
);
【问题讨论】:
什么是错误?你可以在这里发帖吗? 没有错误我们帮不了你 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:修改上传文件文件的扩展名(jpg、png、pdf)
var formData = FormData.fromMap(
"file":
await MultipartFile.fromFile(path, filename: 'upload.jpg'),
);
Response response = await dio.post(
Constant().urlBase + Constant().confirm_package_reception,
data: formData);`enter code here`
【讨论】:
以上是关于Flutter:我正在使用 post api 将文件上传到数据库。但它给了我一个错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 post 请求将图片发送到服务器 api [FLUTTER]
包含在 Flutter 中使用 Dio 的 POST API 的项目列表的参数
Http POST 在 Postman 中有效,但在 Flutter 中无效