nodejs中图片上传,读取,预览
来源:互联网 发布:农村淘宝服务站点查询 编辑:程序博客网 时间:2024/04/28 15:34
提供一个类似相册的功能模块,具体需求: 相册列表,新建相册,删除相册,点击进入相册,照片导入,照片删除,显示
我的做法是完全映射为文件的处理,即模拟一个简单浏览器端的文件管理系统(除导入外)
其中涉及到的知识: 1.nodejs文件操作(fs模块) 2.nodejs文件上传
nodejs文件操作
读取文件夹:
fs.readdir(dest, function(err, files){ if (err) { res.json({ code: 2000, desc: 'error' }); } res.json({ code: 1000, desc: 'success', files: files }); });
生成文件夹:
fs.exists(dest+'/'+dirname, function(exists) { if(!exists) { fs.mkdir(dest+'/'+dirname) res.json({ code: 1000, desc: 'success' }) } else { res.json({ code: 2000, desc: '相册已存在' }) } });
删除文件/目录:
function deleteall(path) { var files = []; if(fs.existsSync(path)) { files = fs.readdirSync(path); files.forEach(function(file, index) { var curPath = path + "/" + file; if(fs.statSync(curPath).isDirectory()) { deleteall(curPath); } else { fs.unlinkSync(curPath); } }); fs.rmdirSync(path); } };
nodejs文件上传
nodejs 官方推荐使用multer包来完成文件上传:
var fs = require('fs')var multer = require("multer");var dest = './public/pictures/'var upload = multer({ dest: dest })router.post('/import', upload.array('images', 12), function(req, res, next) { var files = req.files var dir = req.body.dirname for(var i = 0; i < files.length; i++) { var file = files[i] fs.renameSync(file.destination+'/'+ file.filename, file.destination+'/'+dir+'/'+ file.originalname); } res.json({ code: 1000, desc: '成功导入'+files.length+ '张图片' });});
图片上传到静态资源文件目录,页面通过路径预加载预览
阅读全文
0 0
- nodejs中图片上传,读取,预览
- nodejs如何从上传的视频中截取一帧作为预览图片
- EasyUI上传图片,前台预览,后台读取
- asp.net 图片批量上传预览,在Silverlight页面中读取并滚动显示
- IE 中上传前按比例预览图片
- JQ中异步上传图片预览
- html中图片上传预览功能
- 图片上传+图片预览
- js读取本地图片进行预览,上传服务器
- js读取本地图片进行预览,上传服务器
- js读取本地图片进行预览,上传服务器
- js读取本地图片进行预览,上传服务器
- js 读取本地图片进行预览,上传服务器
- 上传预览图片
- 自动预览上传图片
- 图片上传预览
- 上传与预览图片
- 上传图片时预览
- 判断是否是图片,java实现
- mysql数据库表删除的奥秘
- 为什么身为程序员月入三万的他,却要放弃?
- group by和聚合函数、having关键字一起使用
- springboot 资料连接
- nodejs中图片上传,读取,预览
- uboot的gd_t和bd_t数据结构
- 写给自己的Java程序员学习路线图
- CSS样式基础知识(前端基础篇)
- Spring-SpEL表达式语言 Spring Expression Language
- 浅谈Three.js源码-render之WebGLExtensions.js
- 学习Linux-4.12内核网路协议栈(1.3)——协议栈的初始化(sock_init)
- 一分钟了解“表示程度大有哪些副词”
- 线程池的原理及实现