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

Business Central API V2上传日记账分录附件为空问题求助

解决Business Central API V2日记账分录附件上传损坏问题

问题出在你上传附件内容的方式上——attachmentContent端点不支持multipart/form-data格式的FormData,它需要直接接收文件的原始二进制数据。你当前用FormData包装并设置multipart/form-data头的做法,会导致API无法正确解析文件内容,最终生成空的损坏附件。

修正后的代码

把最后一段上传附件内容的代码替换成下面的版本:

// 直接上传二进制文件内容,无需FormData包装
const response = await firstValueFrom(
  this.businessCentralHttpService.patch(
    `companies(${bcCompanyId})/attachments(${attachment.id})/attachmentContent`,
    fileBlob, // 直接传入Blob对象作为请求体
    {
      headers: {
        'If-Match': '*',
        'Content-Type': 'application/pdf', // 设置为文件实际的MIME类型
      },
    },
  ),
)

关键修改点

  • 移除FormData的包装:直接将fileBlob作为请求体发送,不需要用append包装成表单
  • 调整Content-Type头:设置为文件对应的MIME类型(比如PDF用application/pdf,图片用image/png等),而不是multipart/form-data
  • 保持If-Match: *头:确保可以覆盖现有附件内容

这样修改后,API就能正确接收并解析文件二进制数据,生成完整可用的附件了。

内容的提问来源于stack exchange,提问作者Vladyslav Zavalykhatko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 01:00:57