You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中使用MultipartRequest按指定结构上传图片

用http包实现符合指定结构的文件上传

当然可以实现,关键是要正确设置文件字段的名称,匹配目标接口要求的attachments.*.file格式。

目标接口的结构要求:

  • description:可选字符串
  • attachments:可选数组,数组内每个元素必须包含必填的file文件字段

你当前的代码把所有文件都命名为file,不符合attachments.*.file的嵌套结构要求。只需修改文件字段的命名规则,就能让http包生成符合要求的请求结构。

修改后的代码示例:

if (json != null) {
  request.fields.addAll(json);
}

for (var index = 0; index < filesPath.length; index++) {
  request.files.add(await http.MultipartFile.fromPath(
    'attachments[$index].file',
    filesPath[index],
  ));
}

说明:

  • 循环时通过索引index构建字段名attachments[$index].file,每个文件会对应到attachments数组的对应位置,完全匹配接口要求的attachments.*.file规则
  • description等其他字段可正常通过request.fields添加,和原有逻辑一致

这样发送的Multipart请求就能满足目标接口的参数校验规则了。

内容的提问来源于stack exchange,提问作者micael cunha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 06:39:14