在 multer 中重命名上传的文件
renaming uploaded files in multer
这里我尝试将这两个文件重命名为 file1 和 file2,但是这两个文件都重命名为 file2.
HTML
<input type="file" name="file1" file-model = "file1"/>
<input type="file" name="file2" file-model = "file2"/>
<button ng-click = "uploadFile()">UPLOAD FILES</button>
服务器
app.use(multer({
dest: 'uploads/',
rename: function(file2, file2) {
return "file1"
},
rename: function(file2, file2) {
return "file2"
}
}));
当我返回 return file1+"file1"
和 return file2+"file2"
时,文件重命名为 originalnamefile1
和originalnamefile2
。
尝试了几件事,但无法做对。我的nulter版本是0.1.6
拥有多个 rename
func 没有任何意义,最后一个总是会覆盖以前的。看看下面的示例
app.use(multer({
dest: 'uploads/',
rename: function(fieldname, filename) {
//check fieldname
if(fieldname === 'file1') {
//be aware, no file extension added here
//if you want to add ext - use
//return 'file1.' + filename.split('.').pop();
return 'file1';
} else if (fieldname === 'file2') {
return 'file2';
//do something when fieldname is different
} else {
//generate some id
return Math.round(Math.random() * 1000);
}
}
}));
这里我尝试将这两个文件重命名为 file1 和 file2,但是这两个文件都重命名为 file2.
HTML
<input type="file" name="file1" file-model = "file1"/>
<input type="file" name="file2" file-model = "file2"/>
<button ng-click = "uploadFile()">UPLOAD FILES</button>
服务器
app.use(multer({
dest: 'uploads/',
rename: function(file2, file2) {
return "file1"
},
rename: function(file2, file2) {
return "file2"
}
}));
当我返回 return file1+"file1"
和 return file2+"file2"
时,文件重命名为 originalnamefile1
和originalnamefile2
。
尝试了几件事,但无法做对。我的nulter版本是0.1.6
拥有多个 rename
func 没有任何意义,最后一个总是会覆盖以前的。看看下面的示例
app.use(multer({
dest: 'uploads/',
rename: function(fieldname, filename) {
//check fieldname
if(fieldname === 'file1') {
//be aware, no file extension added here
//if you want to add ext - use
//return 'file1.' + filename.split('.').pop();
return 'file1';
} else if (fieldname === 'file2') {
return 'file2';
//do something when fieldname is different
} else {
//generate some id
return Math.round(Math.random() * 1000);
}
}
}));