Próbujesz wysłać obiekt blob do mojego serwera węzła. Po stronie klienta nagrywam trochę dźwięku za pomocą MediaRecorder, a następnie chcę wysłać plik na mój serwer w celu przetworzenia.Wysyłaj dane blobu do węzła za pomocą narzędzia pobierania, multera, ekspresu
saveButton.onclick = function(e, audio) {
var blobData = localStorage.getItem('recording');
console.log(blobData);
var fd = new FormData();
fd.append('upl', blobData, 'blobby.raw');
fetch('/api/test',
{
method: 'post',
body: fd
})
.then(function(response) {
console.log('done');
return response;
})
.catch(function(err){
console.log(err);
});
}
To jest moja droga ekspresowa, która wykorzystuje multer:
var upload = multer({ dest: __dirname + '/../public/uploads/' });
var type = upload.single('upl');
app.post('/api/test', type, function (req, res) {
console.log(req.body);
console.log(req.file);
// do stuff with file
});
Ale moje logi nic powrotu:
{ upl: '' }
undefined
spędzam dużo czasu na to, więc każda pomoc mile widziana!
Część multer '' 'var upload = multer ({dest: __dirname + '/../public/uploads/'}); var typ = upload.single ('upl'); '' ' – darkace
Czy otrzymasz cokolwiek, jeśli spróbujesz wysłać zwykły ciąg zamiast' blobData', i co mówi 'console.log (blobData)' . – adeneo
Jaki nagłówek "Content-Type" wysyła przeglądarka, jeśli wyświetla się żądanie pobrania sieci z narzędzi internetowych przeglądarki? – mscdex