Отправка вложений в апостроф без головы - PullRequest
0 голосов
/ 04 июля 2018

У меня проблемы с загрузкой изображений через 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; border = ---- WebKitFormBoundary7MA4YWxkTrZu0gW» - это исправило эту ошибку, но другой говорит, что «поток завершился неожиданно». Я также попытался преобразовать его обратно в файл изображения с тем же результатом. Если я использую Почтальон, все работает нормально.

Что я делаю не так?

1 Ответ

0 голосов
/ 05 июля 2018

Для тех, кто сталкивался с такой же проблемой, это мое рабочее решение:

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

где formData - это объект FormData.

...