Node.js 使用MULTER重命名上载的图像
我正在使用multer上传图像。它们都被随机命名(dec93b9f33c7a731723b06ce73c0bbc.jpg),这对搜索引擎优化非常不利。。。你们能帮我解决一下,如何用“固定名称”+“随机名称”扩展名保存图像吗。那么,谷歌至少可以读取部分文件。谢谢Node.js 使用MULTER重命名上载的图像,node.js,image-uploading,multer,Node.js,Image Uploading,Multer,我正在使用multer上传图像。它们都被随机命名(dec93b9f33c7a731723b06ce73c0bbc.jpg),这对搜索引擎优化非常不利。。。你们能帮我解决一下,如何用“固定名称”+“随机名称”扩展名保存图像吗。那么,谷歌至少可以读取部分文件。谢谢 app.set('images', '/var/www/images'); app.use(app.get('images'), express.static(app.get('images'))); var multerForImage
app.set('images', '/var/www/images');
app.use(app.get('images'), express.static(app.get('images')));
var multerForImage = multer({
dest: app.get('images'),
onParseStart: function (file) {
console.log("Started parsing file stream", file);
},
onFileUploadStart: function (file) {
console.log('File recieved: ', file.originalname);
},
onFileUploadComplete: function (file, req, res) {
console.log("File upload complete");
var path = app.get('images') + "/" + file.name;
var user = req.session.user;
res.json({
success: true,
data: path
});
},
onFileUploadData: function (file, data, req, res) {
console.log('Data recieved for file upload');
},
onParseEnd: function (req, next) {
console.log("Parsing data end for file upload");
}
});
您可以使用存储配置
app.set('images', '/var/www/images');
app.use(app.get('images'), express.static(app.get('images')));
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, app.get('images'))
},
filename: function (req, file, cb) {
const randomPart = uuidV4(); // use whatever random you want.
const extension = file.mimetype.split('/')[1];
cb(null, 'fixed-name'+ randomPart + `.${extension}`)
}
})
var multerForImage = multer({
storage: storage,
...
你解决了吗?