Загрузить удаленный файл через Slack API - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь загрузить удаленный файл через Slack API https://slack.com/api/files.upload, используя узел с библиотекой axios. https://api.slack.com/methods/files.upload

async filesUpload(token, channel, content, filename) {
    const form = new FormData()
    form.append('token', token)
    form.append('channels', channel)
    form.append('content', content)
    form.append('filename', filename)
    form.append('filetype', 'auto')

    const { data } = await axios.post(
      'https://slack.com/api/files.upload',
      form,
      {
        headers: form.getHeaders(),
      }
    )
}
// url is a publicly available remote jpg image 
const { data } = await axios.get(url, {
  responseType: 'blob',
})

filesUpload('XXXX', 'XXXXX', data, 'foo.jpg')

Slack API говорит все хорошо, и публикует его содержимое (некоторые gibberi sh) на канал, и в ответ я получаю простой текстовый тип файла:

...
mimetype: 'text/plain',
filetype: 'text',
...

Я почти уверен, что это кодировка, которую я отправляю, но у меня нет выбора. Я пытался загрузить файл с responseType: 'blob', responseType: 'arraybuffer', но безуспешно.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 31 января 2020

Мне не удалось исправить это с помощью топора ios, но я переключил запрос на https://github.com/request/request-promise и все работает нормально.

...