2017-05-15 15 views
0

multerを使用して画像をアップロードしています。それらはすべてランダムな名前(dec93b9f333c7a731723b06ce73c0bbc.jpg)を与えられています。これはSEOにとって非常に悪いものです...あなたが私に助けてくれますか?パターンを使って画像を保存する方法: 'fixed-name' + 'random-name' 。その後、ファイルの少なくとも一部がGoogleのために読めるようになります。ありがとう!MULTERを使用してアップロードした画像の名前を変更します

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"); 
    } 
}); 
+0

解決しましたか? –

答えて

0

ストレージ構成を使用できます。

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, 
     ... 
関連する問題