【问题标题】:Posting attachments to apostrophe-headless将附件发布到 撇号-headless
【发布时间】:2018-07-05 22:30:53
【问题描述】:

我无法通过 REST-API 将图像上传到 Apostrophe-CMS。我使用快速代理,所以文件不是直接从表单提交发送的。相反,我将其 base64 编码发送到我的代理服务器,然后从那里发送到撇号。这是我的快速代码:

app.post('/update-image', function (req, res) {
  const image = req.body.image
  if (image) {
    api.post('attachments', {file: image}, {
      headers: { 'Content-Type': 'multipart/form-data' }
    }).then(response => {
      console.log(response)
    }).catch(error => {
      console.log('error:', error)
    })
  }
})

但我得到的是“错误:内容类型缺失边界”。我尝试手动设置“multipart/form-data;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW” - 这修复了这个错误,但另一个说“流意外结束”。我还尝试将其转换回具有相同结果的图像文件。如果我使用 Postman,一切正常。

我做错了什么?

【问题讨论】:

    标签: apostrophe-cms


    【解决方案1】:

    对于遇到同样问题的任何人,这是我的工作解决方案:

    {
      headers: { 'Content-Type': `multipart/form-data; boundary=${formData._boundary}` }
    }
    

    formData 是 FormData 对象。

    【讨论】:

    • 这里的“api”对象是什么?这不是 apostrophe-headless 中包含的东西,它是一个记录在案的 REST API,而不是用于调用它的 JS 库。听起来您的问题在于说服您使用的客户端软件发出正确的上传请求。
    • 我的 API 对象是一个 Axios 实例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多