Я работаю над загрузкой нескольких файлов с использованием Reactjs / Node.js / Expressjs.
Я могу загрузить несколько файлов в каталог загрузок в моей серверной части и в базу данных.
Но когда я пытаюсь загрузить только один файл, ничего не происходит.
На фронте файл выбран правильно, и когда я console.log(this.state.selectedFile.length)
получил 1, он работает.
Но на бэкэнде, когда я использую console.log(myFile.length)
, я получил неопределенность. Если я загружаю 2 или более файлов, console.log показывает правильную длину, и я не знаю, почему.
Мой код (бэкэнд)
export const uploadFile = (req, res) => {
const myFile = req.files.file;
// upload file(s) to directory
for (let i = 0; i < myFile.length; i++) {
myFile[i].mv("./src/uploads/" + myFile[i].name, function(err) {
if (err) {
return res.status(500).send(err);
}
});
// save file(s) to database
Upload.create({
type: myFile[i].mimetype,
name: myFile[i].name,
data: myFile[i].data
});
}
console.log(myFile.length);
res.send("files uploaded !");
};
Если Вы хотите больше кода / объяснений, не стесняйтесь спрашивать.