router.post(’/’, upload.array(), function (req, res, next) {//1.获取客户端传来的src_str字符串=判断是base64还是普通地址=获取图片类型后缀(jpg/png etc)//=如果是base64替换掉"前缀"("data:image/png;base64," etc)//2.base64 转为 buffer对象 普通地址则先down下来//3.写入硬盘(后续可以将地址存入数据库)//4.返回picture地址var src_str = req.body.image,timestamp = new Date().getTime();if ( src_str.match(/^data:image/png;base64,|^data:image/jpg;base64,|^data:image/jpg;base64,|^data:image/bmp;base64,/) ) {//处理截图 src_str为base64字符串var pic_suffix = src_str.split(’;’,1)[0].split(’/’,2)[1],base64 = src_str.replace(/^data:image/png;base64,|^data:image/jpg;base64,|^data:image/jpg;base64,|^data:image/bmp;base64,/, ’’),buf = new Buffer(base64, ’base64’),store_path = ’public/images/test_’timestamp’.’pic_suffix;fs.writeFile(store_path, buf, function (err) {if (err) {throw err;} else {res.json({’store_path’: store_path});}});} else {// 处理非chrome的网页图片 src_str为图片地址var temp_array = src_str.split(’.’),pic_suffix = temp_array[temp_array.length - 1],store_path = ’public/images/test_’timestamp’.’pic_suffix,wstream = fs.createWriteStream(store_path);request(src_str).pipe(wstream);wstream.on(’finish’, function (err) {if( err ) {throw err;} else {res.json({"store_path": store_path});}});}});需要node环境:安装node=npm intall=node app.js)
您可能感兴趣的文章:js兼容火狐显示上传图片预览效果的方法上传图片js判断图片尺寸和格式兼容IEjavascript上传图片前预览图片兼容大多数浏览器javascript 客户端验证上传图片的大小(兼容IE和火狐)JS上传图片预览插件制作(兼容到IE6)
推荐阅读
- 兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
- 喜欢写作的女生做什么工作好呢
- 干鱿鱼怎样泡发
- 旧的咸菜怎么样做好吃
- 洗衣机进水就排水
- Win 10 Edge浏览器可兼容IE网站,为照顾企业用户
- linear-gradient 兼容IE与firefox的css 线性渐变
- 糖炒焦了的苦味怎么办
- 解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
- win10远程怎么设置