Я пытаюсь отправить wav-файл в качестве запроса POST на мою конечную точку Node.js API и сохранить файл на сервере. Вот что я пытался протестировать Multer:
const multer = require("multer");
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "/uploads");
},
filename: function (req, file, cb) {
cb(null, file.fieldname + "-" + Date.now());
},
});
const upload = multer({ storage: storage }).single("audio");
app.post("/api/upload", function (req, res) {
upload(req, res, function (err) {
if (err instanceof multer.MulterError) {
// A Multer error occurred when uploading.
} else if (err) {
// An unknown error occurred when uploading.
}
// Everything went fine.
const audio = req.files;
console.log(audio);
});
}
Но когда я делаю POST-запрос с Postman на мою конечную точку, я получаю undefined
от console.log(audio);
В моем POST-запросе я помещаю пара ключ-значение audio: test.wav
в разделе форма-данные тела запроса. Что я делаю не так и как мне получить доступ к отправляемому wav-файлу, чтобы использовать его позже?
Мне также интересно узнать, есть ли лучший способ сделать то, что я хочу сделать.
Редактировать. Это правильно?
app.use(
bodyParser.urlencoded({
extended: "true",
})
); // Parse application/x-www-form-urlencoded
app.use(bodyParser.json()); // Parse application/json
app.use(
bodyParser.json({
type: "application/vnd.api+json",
})
); // Parse application/vnd.api+json as json
app.use(bodyParser.raw({ type: "audio/wav" }));