sails:how 上传文件时避免重名
sails:how to avoid same name while uploading a file
我正在上传文件 sails.js.I 刚刚上传了一个文件到我的本地路径。
但问题是当我再次上传同一个文件时意味着它将覆盖现有文件。
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);
}
我需要在上传同名文件时动态更改文件名。
您似乎提供了将文件另存为 uploadFile.filename
的名称,这将是文件在上传之前的名称。您只需要使名称独一无二即可。最简单的方法是包含当前时间戳。因此,将 uploadFile.filename
更改为 Date.now() + uploadFile.filename
maxBytes: 10000000,
saveAs: function(uploadFile, cb) {
cb(null, Date.now() + uploadFile.filename);
},
dirname: '../../assets/uploads'
这会将当前时间戳添加到文件名中,这将确保每个名称都是唯一的并且文件不会相互覆盖。
我正在上传文件 sails.js.I 刚刚上传了一个文件到我的本地路径。 但问题是当我再次上传同一个文件时意味着它将覆盖现有文件。
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);
}
我需要在上传同名文件时动态更改文件名。
您似乎提供了将文件另存为 uploadFile.filename
的名称,这将是文件在上传之前的名称。您只需要使名称独一无二即可。最简单的方法是包含当前时间戳。因此,将 uploadFile.filename
更改为 Date.now() + uploadFile.filename
maxBytes: 10000000,
saveAs: function(uploadFile, cb) {
cb(null, Date.now() + uploadFile.filename);
},
dirname: '../../assets/uploads'
这会将当前时间戳添加到文件名中,这将确保每个名称都是唯一的并且文件不会相互覆盖。