gpt4 book ai didi

regex - 使用 fs 在 multer 中重命名上传的图像

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:45 25 4
gpt4 key购买 nike

当用户上传图片时 - 顺便说一下,我正在使用 multer - 名称中包含空格,我想将空格替换为 "-"在将文件名保存到我的Mysql表之前,然后还将已上传的文件重命名为新名称,其中"-" 。这是我的代码。它确实重命名了,Mysql 表用连字符保存了新名称,但由于某种原因图像没有上传,甚至没有错误,事实上 POST 请求实际上是成功的。

router.post('/uploadpost', upload.single('image'), function(req, res){
var name = req.file.originalname;
var reName;
if(/\s/g.test(name)){
reName = name.replace(" ", "-");
fs.rename(req.file.path, reName, function(err){
if(err){
throw err;
}

});
}

最佳答案

为什么用 Multer 保存文件时不更改名称?类似这样的事情:

function generateName(){
return 'newname';
}

var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/tmp/my-uploads')
},
filename: function (req, file, cb) {
cb(null, generateName()); // generate new name
}
})

var upload = multer({ storage: storage })

文档 - https://github.com/expressjs/multer#diskstorage

关于regex - 使用 fs 在 multer 中重命名上传的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33485620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com