Flutter - Unhandled Exception: NoSuchMethodError: The getter 'filename' was called on null

Flutter - Unhandled Exception: NoSuchMethodError: The getter 'filename' was called on null

我还在学习flutter,在我的项目中一直遇到问题,如标题中所述的错误。我想使用 dio 和 formData 在 flutter 中上传文件。 img[] 是 mongodb 中数据库的变量,每当用户传递空图像时我都会出错。 (因为我们不要求用户发送图片。)

这是我的代码。

 upload2(List<File> babyList) async {

    var formData = FormData.fromMap({
      "userId": _id,
      "babyname": _baby,
    });

    if(_babyList.length != 0){
      for (int i = 0; i < _babyList.length; i++) {
        var fileName = babyList[i].path.split('/').last;
        formData.files.addAll([
          MapEntry(
              "babyimage[]",
              await MultipartFile.fromFile(babyList[i].path,
                  filename: fileName,
                  contentType: new MediaType(lookupMimeType(fileName).split('/')[0], lookupMimeType(fileName).split('/')[1],
                  ))),
        ]);
      }
    } else {
      formData.files.addAll([ MapEntry("babyimage[]", null)]);
    }

    // sending the formdata to the database
    AuthService().requestorRegister(formData).then((val) async {
      print('Form Submitted Successfully');
      _confirmationDialog(context);
    });

  }

好吧,我试过不在formdata里加babyimage[],我也试过把空数组,null和babyList作为值。问题是它们可以工作,而我的唯一问题是服务器。服务器没有更新。所以有时我们也必须检查服务器。哈哈

PS。我删除了代码中的 else,因为它是空的。