Kod klienta:

var data = new FormData();
data.append(fileName, blob, 'test.html');

fetch('http://localhost:3000/', { 
method: 'POST',
    headers: {
    },
    body: data 
}).then(
    response => {
        console.log(response)
    }
).then(
    success => {
        console.log(success)
    }
).catch(
    error =>  {
        console.log(error)
    }
);

Kod serwera:

router.post('/', urlencodedParser, function(req, res, next) {
  const body = req.body;
  console.log(body);
  res.send(`You sent: ${body} to Express`);
});

Wysyłam obiekt blob w treści żądania wpisu. Kiedy wysyłam go na serwer, chcę, aby serwer ściągnął plik z treści żądania. Jak mogę pobrać ten plik? Czy jest prostszy sposób przesyłania z klienta?

0
ssn 2 kwiecień 2020, 02:41

3 odpowiedzi

Najlepsza odpowiedź

To rozwiązało moją odpowiedź - https://attacomsian.com/blog/uploading-files-nodejs -express, który zasadniczo wykorzystuje oprogramowanie pośredniczące do wysyłania.

To było w zasadzie tak:

const x = 6;
console.log(x);
Error: value is f'd up

const x = 6;
magic.valueParse(x);
console.log(x);
6

Chciałbym również wskazać, w jaki sposób bodyParser nie może być używane w przypadku danych wieloczęściowych. Wspomina się o tym w oficjalnej dokumentacji, ale nawet odpowiedzi, które otrzymuję, wydają się wskazywać na bodyParser. Pomyślałem więc, że powtórzę to.

0
ssn 3 kwiecień 2020, 00:09

Niech rozwiąże twój problem.

const fs = require('fs');
let directory = '/temp/data'; // where you want to save data file

router.post('/', urlencodedParser, function(req, res, next) {
 const body = req.body;
 console.log(body);
 fs.writeFile(directory, body, function(err) {
  if(err) {
   return console.log(err);
  }
  console.log("File has been saved");
 });
 res.send(`You sent: ${body} to Express`);
});
0
Suman Kumar Dash 2 kwiecień 2020, 00:01

Jeśli możesz skorzystać z pakietu NPM formidable, wydaje się, że jest rozwiązanie pod adresem: https : //www.w3schools.com/nodejs/nodejs_uploadfiles.asp

Po otrzymaniu pliku możesz użyć modułu fs do zapisania i przechowywania na serwerze

1
Adrian Meza 1 kwiecień 2020, 23:53