Я следил за этим видео , чтобы узнать, как использовать Multer
для загрузки файлов.
Затем я реализовал функцию загрузки изображений в одном из моих приложений Node.js
.
Теперь я хотел бы использовать Multer
для загрузки содержимого большого двоичного объекта, содержащего аудиоданные.Какой путь?Я уже немного попробовал, следуя тому, что узнал, но у меня уже есть некоторые проблемы:
- Сейчас я работаю со звуковыми данными вместо графических данных.
- У меня нет поляимя, которое нужно указать в качестве аргумента для multer ({storage: storage}). single (...); вызов функции.
Надеюсь, у кого-то есть опыт (использование Multer
) предоставит некоторые рекомендации по этому вопросу.
Для справки, вот мой код для нажатия кнопки загрузки:
uploadVceRcd.onclick = e => {
var reader = new FileReader();
reader.onload = function(event) {
var fd = {};
fd["fname"] = "VoiceRecord_"+Date.now()+".opus";
fd["data"] = event.target.result;
$.ajax({
type: 'POST',
url: 'VoiceUpLoad',
id: document.getElementById('sentID').innerText,
data: fd,
dataType: 'text'
}).done(function(data) {
console.log('uploadAudio - Done !');
console.log(data);
});
};
reader.readAsDataURL(blob);
}
А вот мой код для обработкисоответствующий маршрут VoiceUpLoad внутри index.js:
app.post('/VoiceUpLoad', function (req, res) {
upload(req, res, function (err) {
if (err) {
if (err instanceof multer.MulterError) {
// A Multer error occurred when uploading.
console.log('A Multer error occurred when uploading. !!!');
} else {
// An unknown error occurred when uploading.
console.log('A unknown error occurred when uploading. !!!');
console.log(err);
}
} else {
// Everything looks fine.
console.log('All seems OOKK !!!');
console.log(req.file);
if (req.file == undefined) {
console.log('req.file == undefined!!!');
} else {
console.log('SHOULD BE OOKK !!!');
.......
}
}
});
});
Когда я запускаю этот код, я получаю в журналах следующее:
... app[web.1]: All seems OOKK !!!
... app[web.1]: undefined
... app[web.1]: req.file == undefined!!!