Использование буфера для сохранения p5 js canvas в виде файла на сервере через POST json toDataURL - PullRequest
0 голосов
/ 09 января 2020

У меня проблема с отправкой json toDataURL и сохранением его в виде файла в localalstorage ... Я пытался использовать разные подходы, но ни один из них не работает. Я хочу сохранить данные с p5 js canvas как изображение на сервере. Когда я публикую запрос toDataURL и console.log, данные доставляются на сервер, и я хочу преобразовать json string image64 в файл png и сохранить его. на сервере. Ниже приведен мой код и ошибка сервера:

[DEP0005] DeprecationWarning: Buffer () устарел из-за проблем безопасности и удобства использования. Пожалуйста, используйте взамен методы Buffer.allo c (), Buffer.allocUnsafe () или Buffer.from (). TypeError [ERR_INVALID_ARG_TYPE]: первый аргумент должен быть одним из типа string, Buffer, ArrayBuffer, Array или Array-like Object. Полученный объект типа

Может ли кто-нибудь помочь мне с этим?

СТОРОНА КЛИЕНТА

   const button1 = document.getElementById('close');
     button1.addEventListener('click', async event =>{
       output.loadPixels();
       const image64 = output.canvas.toDataURL();
       const data1 = {image64};
       const options1 = {
           method:'POST',
           body:JSON.stringify(data1)

       };
       fetch('/api',options1);

     });

СТОРОНА СЕРВЕРА

 var urlencodedParser = bodyParser.urlencoded({limit: '2GB', extended: true});
    stand1.post('/api', urlencodedParser, function(req, res){
        const image64 = req.body;
        var buf = new Buffer(image64, 'base64').toString('binary');
        require("fs").writeFile("out.png", buf, "binary", function(err) {
            console.log(err); // writes out file without error, but it's not a valid image
          });

    });
...