Я использую Multer для загрузки данных формы (некоторые файлы изображений).
Но req.body и req.files оба становятся пустыми. когда я загружаю изображения, я получаю успешное сообщение «Ваше изображение загружено», но моя папка пуста.
Я перепробовал все решения, доступные на StackOverflow, а также на GitHub.
но не повезло.
ниже моего кода
форма в файле HTML
<form id="uploadForm" enctype="multipart/form-data" action="multerFile" method="post">
<input type="file" name="userPhoto" multiple />
<input type="submit" value="Upload Image" name="submit">
<input type='text' id='random' name='random'>
<br>
<span id="status"></span>
</form>
<script>
$(document).ready(function () {
$('#uploadForm').submit(function () {
$("#status").empty().text("File is uploading...");
$(this).ajaxSubmit({
error: function (xhr) {
status('Error: ' + xhr.status);
},
success: function (response) {
console.log(response)
$("#status").empty().text(response);
}
});
return false;
});
});
</script>
index.js
app.post('/multerFile', function (req, res) {
console.log("hi i am multer function")
var storage = multer.diskStorage({
destination: 'C:/Users/chandra/Documents/project/node_project/public'
});
var upload = multer({ storage: storage }).array('userPhoto', 2);
upload(req, res, function (err) {
if (err) {
console.log(err);
return res.end("Error uploading file.");
} else {
console.log(req.body)
console.log(req.files);
req.files.forEach(function (f) {
console.log(f);
// and move file to final destination...
});
res.end("File has been uploaded");
}
});
});
Я пытался:
Express, Multer, BodyParser req.body пустой массив
multer req.body всегда отображается пустым
https://github.com/expressjs/multer/issues/351
https://github.com/expressjs/multer/issues/391
и я следовал этому уроку для multer
https://codeforgeek.com/2016/01/multiple-file-upload-node-js/
Я не могу понять, что я делаю не так?
, пожалуйста, помогите.
Заранее спасибо