javascript - 在 multer 中重命名上传的文件

标签 javascript node.js multer

这里我尝试将这两个文件重命名为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);
        }
    }
}));

关于javascript - 在 multer 中重命名上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213956/

相关文章:

javascript - Nodejs - 无法通过ajax使用multer上传文件

Node.js、multer 和 req.body 为空

javascript - 在 chrome 新窗口上销毁的 php session

javascript - 为什么无法使用 Cloud Functions for Firebase 加载本地模块

javascript - Node.js 解析 fs.readFile() 时出现意外的数字转换

nestjs - 在 nestJs 多文件上传中找不到 diskStorage()

javascript - selenium-webdriver node.js : how to handle missing element after wait timeout (exception can't seem to be caught)

javascript - 如何更改 Chrome 扩展内部 HTML 页面

linux - Socket.io 未与服务器上的在线 html 页面通信

mysql - 当有新的 mysql 记录插入表中时创建 Node.js 事件监听器(用于通知提要)