Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用MULTER重命名上载的图像_Node.js_Image Uploading_Multer - Fatal编程技术网

Node.js 使用MULTER重命名上载的图像

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

我正在使用multer上传图像。它们都被随机命名(dec93b9f33c7a731723b06ce73c0bbc.jpg),这对搜索引擎优化非常不利。。。你们能帮我解决一下,如何用“固定名称”+“随机名称”扩展名保存图像吗。那么,谷歌至少可以读取部分文件。谢谢

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,
        ...

你解决了吗?