Отправить изображение с canvas через post-запрос rest api в вк как через ReadStream

Рейтинг: 1Ответов: 0Опубликовано: 27.03.2023

Я пытаюсь загрузить картинку в ВК через их API HTTP-запросами через Node js.

Пока что я смог это сделать загружая файл с диска через fs.createReadStream:

var fetch = require('node-fetch');
var fd = require('form-data');
const fs = require('fs');
const path = require('path');

   let myHeaders = new fetch.Headers();
   myHeaders.append("Cookie", "remixlang=0; remixstlid=9089908479025776857_pfzzJOisdzK6eNtRHsN13V8Md45NktdPbTMPKxm6ruT");

   const buffer = fs.createReadStream("C:\\Users\\Name\\Desktop\\Map.png")
                                                                                                    
   let formdata = new fd();                                                                    
   formdata.append("photo", buffer);

   let requestOptions = {
   method: 'POST',
   headers: myHeaders,
   body: formdata,
   redirect: 'follow'
   };
        
   fetch(some_upload_url, requestOptions)

Оно работает отлично, но я хочу загрузить картинку с canvas, которую сгенерирую в скрипте. Я пробовал отправлять buffer, base64 и blob, но это не сработало, возвращаемое поле photo пусто. Можно было бы просто сохранить файл на диск, отправить его а затем удалить, но мне кажется это излишним.

Так что я ищу способ сымитировать fs.ReadStream внутри программы, чтобы загрузить картинку из canvas

Ответы

Ответов пока нет.