Я пытаюсь загрузить удаленный файл через 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'
, но безуспешно.
Пожалуйста, помогите.