layui图片上传之后后台如何修改图片的后缀名以及返回数据给前台
2024-09-14 02:33:26
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,一个挺老的框架,关键是如何处理上传后的图片操作。
最新文章
- Atitit.log日志技术的最佳实践attilax总结
- Visual Studio 2015无法进行Package Restore的原因和解决方案
- XMPP开发环境配置
- 【转】eclipse导入V7包出现错误解决办法
- http://www.cnblogs.com/ACMer/p/5170255.html
- linux下使用 Tomcat 的几个坑
- NEON简介【转】
- RMAN备份与恢复之spfile
- JavaScript高级程序设计之原型对象
- cocos2d-x 使用UIWebView加载网页(顺便可以看到如何用OC调C++)
- PostCss 从0开始
- 关于Ext 修复源代码 bug的方法
- 《java入门第一季》之Character类小案例
- (Lesson2)根据类名称和属性获得元素-JavaScript面向对象
- [转]GitHub for Windows 安装失败,An error occurred attempting to install github 的解决办法
- JVM--关于MinGC,FullGC
- 【Important】数据库索引原理
- iOS-IAP内购的那些事(iOS内购漏单的问题)
- vue系列
- Oracle OCI操作UDT相关学习