Как я могу отправить холст изображения на сервер? - PullRequest
0 голосов
/ 26 апреля 2019

Я использую fabricjs и мне нужно отправить сгенерированное изображение с canvas на мой сервер nodejs.Я использую Axios для отправки сгенерированного изображения, но оно не работает.

const canvas = new fabric.Canvas('c');
const textInput = document.getElementById('text');

textInput.addEventListener('keyup', (event) => {

    let newText = event.target.value;
    let text = new fabric.Text(newText, { left: 100, top: 100 });

    canvas.add(text);
});


const sendPNG = () => {
    var dataURL = canvas.toDataURL({
        format: 'png',
        left: 100,
        top: 100,
        width: 200,
        height: 200
      });

    console.log("image", dataURL);
    axios.post('http://localhost:5000/upload', dataURL)
        .then(res => { console.log("Test res:", res) })
}

Это код сервера:

var express = require('express');
var app = express();
var upload = require('express-fileupload');
const http = require('http');
http.Server(app).listen(5000);

app.use(upload());

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
  });

app.post('/upload', function (req, res) {
    if (req.files) {
        console.log("Image test:", req.files);
        res.json({ url : "test"})
    }
})
...