Как переименовать файл при использовании express fileupload в node.js

#node.js #file

#node.js #файл

Вопрос:

У меня есть функция загрузки файлов, и я использую express-fileupload модуль в node.js чтобы загрузить файл в локальную папку. Я объясняю свой существующий код ниже.

 const fileUpload = require('express-fileupload');
app.use(fileUpload({
    createParentPath: true
}));
const avatar = req.files.file;
avatar.mv('./uploads/'   avatar.name);
  

Здесь я могу загрузить файл в свою папку для загрузки, но здесь мне нужно добавить timestamp с именем файла, а затем загрузить, чтобы я мог отличить, идет ли какой-либо новый файл с тем же именем.

Ответ №1:

Этот код может помочь вам

 const path = require('path');

let target_file = req.files.target_file;

var file_name = new Date().getTime()  '_' target_file.name;

// target_file.mv(path, callback)
target_file.mv(path.join(__dirname, 'uploads', file_name), (err) => {
   if (err) throw err;
      res.send('File Uploaded');
})
  

Ответ №2:

Код (Elangovan Selvaraj) перед этим комментарием абсолютно правильный.

Я попытался с:

 const pdfUpload = req.files.documents;

const fileName = new Date().getTime()   '_'   pdfUpload.name;

const pdfPath = path.join(
        __dirname,
        '../public/uploads/hotels/kyc/'   `${fileName}`
      );

await pdfUpload.mv(pdfPath);