Я пытаюсь и не могу получить файл из s3 в слабый файл, через бот-узел, размещенный на сбой.
В проекте клюша, который я клонирую, используется аксиома для создания веб-запросов. Я делаю запрос на чтение файла s3 в строку, затем беру содержимое и помещаю его в запрос к files.upload . Files.upload принимает данные формы через сообщение.
Мне не совсем понятно, как структурировать параметр "file" данных формы для получения строки, но следующее возвращает ошибку "invalid_arg_name".
var Readable = require('stream').Readable;
// ...
const upload = new FormData();
upload.append("channels", destinationChannel);
const s = new Readable();
s.push("example s3 file content string");
s.push(null);
upload.append("file", s);
const config = {
headers: {'Authorization': "Bearer " + myAccessToken},
'Content-Type': 'multipart/form-data',
};
axios.post(`${apiUrl}/files.upload`, upload, config)
.then((result) => {
console.log('uploaded file');
console.log(result.data);
});
В документах также говорится, что он принимает форму в кодировке URL, но я не уверен, какая структура примет или , если справится с 10-ю килобайтами файлов, которые я хочу отправить через это метод.
Если мы сможем исправить этот метод, это было бы замечательно, но если есть более простой способ подачи общедоступного URL-адреса в slack-файл files.upload, я также воспользуюсь этим.