layui图片上传之后后台如何修改图片的后缀名以及返回数据给前台

Posted liqian-front-end-engineer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了layui图片上传之后后台如何修改图片的后缀名以及返回数据给前台相关的知识,希望对你有一定的参考价值。

const pathLib = require(‘path‘);//引入node.js下的一个path模块的方法,主要处理文件的名字等工作,具体可看文档
const fs = require(‘‘fs);
var app = new express();
//前台图片上传访问路径
 app.post(‘/upload‘,(req,res)=>{
        if(Boolean(typeof req.files[0])){//判断访问该后台时是否有图片上传
            var ext = pathLib.parse(req.files[0].originalname).ext;//获取文件的后缀名,req.files[0].originalname为文件名,pathLib.parse(文件名).ext方法获取文件名的后缀名;
            var newPath = (req.files[0].path +ext).replace(/\/gi,‘\\‘);//将文件保存的路径名并加上后缀,然后替换文件名中的 ‘’ 换成 ‘\‘,以此保存到数据库中
            var newFilename = req.body.id+‘_‘+req.files[0].filename;//保存图片的新名字
            if(newFilename){
                fs.rename(req.files[0].path,newPath,(err)=>{//重命名,参数一:原始路径,参数二:新路径,参数三:回调函数
                    if(err){
                        res.status(500).send(‘file opration error‘).end();
                    }else{
                          //将保存的路径插入到数据库中
                        db.query(`INSERT INTO img_table (phone,src,date) VALUES(‘${req.body.id}‘,‘${newPath}‘,‘${req.body.time}‘)`,(err)=>{
                            if(err){
                                res.json({"code":"0","msg":"error"}).end();
                            }else{
                                //返回JSON数据,并指定图片的样式大小
                                res.json({"code":"200","msg":"success","style":‘display: inline-block; height: auto; max-width:100%;‘}).end();
                            }
                        });
                    }
                });
            }
            
        }
    });
return app;

我这里后台用的是node.js,框架使用的是express,一个挺老的框架,关键是如何处理上传后的图片操作。

以上是关于layui图片上传之后后台如何修改图片的后缀名以及返回数据给前台的主要内容,如果未能解决你的问题,请参考以下文章

react上传图片文件到服务器——其他类似——multer修改后缀名后存储——返回静态资源

Layui upload多图片上传, 传参后台接受不到

百度ueditor编辑器php图片上传路径怎么自定义修改

Springboot+Layui图片上传以及预览

Springboot+Layui图片上传以及预览

Springboot+Layui图片上传以及预览