ClientException(内容大小超过指定的 contentLength。已写入 10911 字节,而预期为 5965

Adn*_*nan 6 http dart flutter

我收到ClientException (内容大小超过指定的 contentLength。在预期 5965 时写入了 10911 字节。尝试将 m4a 文件上传到我的服务器时出错。我尝试从邮递员发送完全相同的请求,它工作得很好。我也能够在flutter中使用完全相同的请求发送imgs和视频。我跟踪了发送方法,它在框架中的Client类中的方法“发送”中给出了错误,这是我的请求代码:

static Future<String> uploadFile(
      {Attachment attachment,
      List<Attachment> attachments,
      String toUserIdForMessage}) async {
    Uri _uri = Uri.parse(globalUrl + file + 'Uploads');
    http.MultipartRequest _reqss = http.MultipartRequest(
      'POST',
      _uri,
    );
    Attachment _attForHeaders = attachment ?? attachments[0];
    _reqss.headers.addAll(await headersWToken);
    _reqss.fields['ownerType'] =
        _attForHeaders.attachmentOwner.index.toString();
    _reqss.fields['ownerId'] = _attForHeaders.ownerId.toString();
    _reqss.fields['toUserIdForMessage'] = toUserIdForMessage;
    if (attachment != null && attachment.path != null)
      _reqss.files.add(
        await http.MultipartFile.fromPath(
          attachment.path,
          attachment.path,
        ),
      );
    if (attachments != null && attachments.length != 0) {
      for (Attachment att in attachments) {
        _reqss.files.add(
          await http.MultipartFile.fromPath(
            att.path,
            att.path,
          ),
        );
      }
    }
    var _response = await (_reqss.send());
    var _re = _response.stream.bytesToString();
    return _re;
  }
Run Code Online (Sandbox Code Playgroud)

Adn*_*nan 5

当我尝试录制语音消息并上传时发生此错误。问题是没有关闭录音机。所以当请求准备时,记录器继续记录,从而出现大小差异问题。