Ошибка no_file_data при использовании загрузки Slack API
Я получаю эту ошибку {"ok":false,"error":"no_file_data"} при попытке вызвать слабый API для загрузки. У меня уже есть указанный файл в./log.
robot.respond /upload (.*)/i, (res) ->
app_name = res.match[1]
request = require("request")
fs = require("fs")
channel_name = res.message.room
data = {
channels: channel_name,
filename: "#{app_name}.txt",
file: fs.createReadStream("./log/#{app_name}.txt"),
}
robot.http("https://slack.com/api/files.upload")
.headers(Authorization: 'Bearer slack-token', 'Content-Type': 'application/json')
.post(data) (err, httpRes, body) ->
if err
res.send "#{err}"
return
res.send "#{body}"
1 ответ
Это не работает, потому что метод API files.upload
не поддерживает тип контента application/json
сообщения.
Для вашего случая вы должны опубликовать как multipart/form-data
с одной частью, содержащей данные файла, и одной частью, содержащей параметры API, включая токен.