Как POC я хотел бы сделать фотографии своих квитанций (бензин, магазин и т. Д.) И использовать чат-бота для отправки их в мое бухгалтерское программное обеспечение. Моя проблема связана с отправкой собранной квитанции (изображения) в бухгалтерское программное обеспечение с использованием его API.
Первая часть (получение вложения) приводит к созданию массива с изображением. Для этого я использовал один из образцов NodeJS (номер 15).
const attachment = turnContext.activity.attachments[0];
const url = attachment.contentUrl;
let image;
axios.get(url, { responseType: 'arraybuffer' })
.then((response) => {
if (response.headers['content-type'] === 'application/json') {
response.data = JSON.parse(response.data, (key, value) => {
return value && value.type === 'Buffer' ? Buffer.from(value.data) : value;
});
}
image = response.data;
}
).catch((error) => {
console.log(error);
});
Я борюсь со второй частью. Публикация изображения в бухгалтерской программе
const requestConfig = {
headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/x-www-form-urlencoded'
}
};
axios.post(postUrl, image, requestConfig)
.then((response) => { console.log(response); }
).catch((error) => {
console.log(error);
});
};
Это приводит к 400. неправильный запрос. Возможно, API нужен файл, и я не могу просто отправить буфер. Я проверил с помощью Postman, и запрос был принят с помощью application / x-www-form-urlencoded (с помощью локально сохраненного файла изображения).
Какова лучшая практика для публикации изображения, полученного в буферном массиве?