Загрузка фотографий в группу через VK API

Нужно отправить фото в альбом ВКонтакте. Получаю адрес, пытаюсь переместить туда фотографию с накопителя (через полный путь к файлу), но ВКонтакте после отправки фотографии высылает пустой photos_list по неизвестной мне причине. Скорее всего, что я как-то неверно высылаю фотографию для загрузки на сервер. Спасибо.

async function uploadPhoto() {
        const url = await fetch(encodeURI(`https://api.vk.com/method/photos.getUploadServer?access_token=${process.env.TOKEN}&album_id=${process.env.ALBUM_ID}&group_id=${process.env.GROUP_ID}&v=5.131`))
            .then(response => response.json())
            .then((data) => {
                return (data['response']['upload_url'])
            });
 
        const formData = new FormData();
        const filePath = await downloadPhoto('https://shikimori.org/system/screenshots/original/6b88af9f4e1e40de987f1acf694a3d7759a45636.jpg?1521803713');
        console.log(filePath);
        formData.append('file', filePath);
 
        const res = await fetch(url, {
                method: 'POST',
                body: formData
            })
            .then(response => response.json())
            .then((data) => {
                return data
            });
 
        const savePhoto = await fetch(`https://api.vk.com/method/photos.save?access_token=${process.env.TOKEN}&album_id=${process.env.ALBUM_ID}&group_id=${process.env.GROUP_ID}&server=${res['server']}&photos_list=${res['photos_list']}&hash=${res['hash']}&v=5.131`)
            .then(response => response.json())
            .then((data) => {
                console.log(data)
            });
 
 
 
    }
 
 uploadPhoto();

Ответы (1 шт):

Автор решения: r1hsfoa

Решение оказалось довольно простым. При добавлении фото в FormData нужно использовать fs.createReadStream. Пример:

var fs = require('fs');
formData.append("file1", fs.createReadStream(filePath));
→ Ссылка