【问题标题】:Flutter: I am uploading a file to database using post api. But it gives me a bugFlutter:我正在使用 post api 将文件上传到数据库。但它给了我一个错误
【发布时间】: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;
});

}

【问题讨论】:

  • 什么是错误?你可以在这里发帖吗?
  • 没有错误我们帮不了你
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: flutter api dart mobile


【解决方案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`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2017-07-28
    • 2021-07-07
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    相关资源
    最近更新 更多