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,一個挺老的框架,關鍵是如何處理上傳后的圖片操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM