博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剪切板粘贴上传图片功能的javascript实现
阅读量:6959 次
发布时间:2019-06-27

本文共 1207 字,大约阅读时间需要 4 分钟。

平时的开发中我们难免要上传一些网页截图、图片等,传统的选择文件上传使用起来不方便,这里介绍一种使用js和node实现的剪切板黏贴上传图片功能。当我们需要上传截图时,只需手动截图后commond/ctrl+v即可完成图片上传。这种方式将大大减少我们在上传图片过程中花费的时间。

要实现剪切板黏贴上传功能,首先我们要先能获取到在剪切板中的图片,这里给大家介绍一个很好用的js插件:。

ImageClipboard

是一款在chrome、firefox和opera上有效的可以将剪切板中的图片黏贴到网页上的工具。

安装

可以使用bower很简单的安装,如果没有安装bower,请先安装bower,安装使用说明见:[bower:客户端库管理工具]。

bower install image-clipboard

使用:将剪切板中的图片黏贴到网页中去

运行以上代码后,div#box中会插入一个img标签,src即为当前剪切板中图片。

剪切板中图片的获取与上传

通过ImageClipboard,我们可以以base64的形式获取到剪切板中的图片,然后将base64数据作为参数通过POST的方式传输到服务器端。

浏览器端代码:

this.props.clipboard.onpaste = function (base64) {  //do stuff with the pasted image  //console.log(base64)  $.ajax({    url: 'http://localhost:2929/api/upload-img',    dataType: 'JSON',    data: {      imgData: base64},    type: 'POST',    success: function(data) {      console.log(data);    }  });};

服务器端代码

服务器端获取到base64数据,即可将base64数据转为图片存储或者传送到其他服务器。

export default function uploadImg(req, res) {         new Promise((resolve, reject) => {    var fs = require('fs');    var base64Data = req.body.imgData.replace(/^data:image\/png;base64,/, "");    fs.writeFile("out.png", base64Data, 'base64', function(err) {      console.log(err);    });    });}

博客文章地址:

参考资料

  1. ImageClipboard:

  2. bower:客户端库管理工具

转载地址:http://qwqil.baihongyu.com/

你可能感兴趣的文章
用 IDEA Git本地项目到码云
查看>>
HUE编译部署
查看>>
vagrant up启动报错
查看>>
SVN版本控制图标未显示或显示异常解决方法
查看>>
KVC````valueForKeyPath
查看>>
ECharts实例(1)
查看>>
eclipse 配置git ssh登录
查看>>
安装MariaDB和Apache
查看>>
Tomcat项目部署—动态部署
查看>>
FastCGI 进程管理器(FPM)-配置
查看>>
Hello Word ~ v0.2.2 背单词软件发布 -- By WHYPRO
查看>>
文件上传显示保存到数据库实现类
查看>>
JQuery笔记
查看>>
JVMTI开发教程之一个简单的Agent
查看>>
struts2.0中struts.xml配置文件详解
查看>>
spring 事务管理——回滚之service层(事务控制层)
查看>>
Git学习笔记
查看>>
Developer Express 之 XtraReport报表预览控件PrintControl设置
查看>>
Httpclient 4.x文件上传
查看>>
SpringMVC 学习系列 (5) 之 数据绑定 -2
查看>>