Как я могу использовать Express-fileupload с fetch? - PullRequest
0 голосов
/ 28 января 2019

Я хочу отправить файл с помощью fetch, но мне нужно получить файл на стороне сервера с помощью экспресс-загрузки файла, возможно ли это?

Моя серверная часть: здесь я просто получаю файлс экспресс-загрузкой файлов, но я отправляю через действие формы, мне нужно получить выборку, но я не знаю, как отправить файл через выборку, чтобы я мог получить его с помощью req.files

async store(req, res) {
    var doce = req.body.doce;
    var nome = uniqid(doce+'-')+'.jpg';
    var caminho = `/img/${doce}/`;
    var tema = req.body.tema;
    let sampleFile = req.files.arquivo;
    sampleFile.mv(`./public${caminho}${nome}`, function(err){
        if(err){
            return res.status(500).send(err)
        }
    });
    const candy = await Candy.create({
        nome: nome,
        doce: doce,
        caminho: caminho,
        tema: tema
    });

    return res.json(candy);
},

моя выборка: здесь я пытался отправить по телу, однако на стороне сервера с помощью fileupload я не могу восстановить файл с помощью тела, просто файлы

let file = document.querySelector('input[name="arquivo"]').files[0] 

fetch('http://localhost:3000/candy', { method: 'post', headers: {'x-auth-token': window.sessionStorage.getItem('token'), 'Content-Type': 'application/json'}, body: JSON.stringify({
    doce: doce,
    tema: document.getElementById('docestipos').value,
    arquivo: file
})}).then...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...