在multer中重命名上载的文件

renaming uploaded files in multer

本文关键字:文件 上载 重命名 multer      更新时间:2023-09-26

在这里,我试图将两个文件重命名为file1file2,但这两个文件都重命名为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"时,这些文件将重命名为originalnamefile1originalnamefile2。尝试了几件事,但都没能做好。我的nulter版本是0.1.6

拥有多个rename函数没有任何意义,最后一个函数总是覆盖前面的函数。看看下面的样品

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);
        }
    }
}));