帆:如何避免同时上传一个文件的同名

我在sails.js.上传文件到我的本地path。 但问题是当我再次上传一个相同的文件意味着它将覆盖现有的文件。

var uploadFile= req.file('SourceFileImport'); uploadFile.upload ({ // don't allow the total upload size to exceed ~10MB maxBytes: 10000000,saveAs: function(uploadFile, cb) {cb(null, uploadFile.filename); },dirname: '../../assets/uploads' },function whenDone(err, uploadedFiles) { if (err) { console.log("error"); return res.negotiate(err); } // If no files were uploaded, respond with an error. if (uploadedFiles.length === 0) { return res.badRequest('No file was uploaded'); } else { console.log(uploadedFiles[0].fd); } 

我需要在上传同名文件时dynamic更改文件名。

它看起来像你提供的名字来保存文件为uploadFile.filename ,这将是上传之前的文件命名。 你只需要使这个名字独一无二。 最简单的方法是包含当前的时间戳。 因此,将uploadFile.filename更改为Date.now() + uploadFile.filename

 maxBytes: 10000000, saveAs: function(uploadFile, cb) { cb(null, Date.now() + uploadFile.filename); }, dirname: '../../assets/uploads' 

这会将当前时间戳添加到文件名,这将确保每个名称是唯一的,文件不会相互覆盖。