请问js如何获取剪贴板中的图片base64数据?
网友回复
js代码如下:
function retrieveImageFromClipboardAsBase64(pasteEvent, callback, imageFormat){ if(pasteEvent.clipboardData == false){ if(typeof(callback) == "function"){ callback(undefined); } }; var items = pasteEvent.clipboardData.items; if(items == undefined){ if(typeof(callback) == "function"){ callback(undefined); } }; for (var i = 0; i < items.length; i++) { // Skip content if not image if (items[i].type.indexOf("image") == -1) continue; // Retrieve image on clipboard as blob var blob = items[i].getAsFile(); // Create an abstract canvas and get context var mycanvas = document.createElement("canvas"); var ctx = mycanvas.getContext('2d'); // Create an image var img = new Image(); // Once the image loads, render the img on the canvas img.onload = function(){ // Update dimensions of the canvas with the dimensions of the image mycanvas.width = this.width; mycanvas.height = this.height; // Draw the image ctx.drawImage(img, 0, 0); // Execute callback with the base64 URI of the image if(typeof(callback) == "function"){ callback(mycanvas.toDataURL( (imageFormat || "image/png") )); } }; // Crossbrowser support for URL var URLObj = window.URL || window.webkitURL; // Creates a DOMString containing a URL representing the object given in the parameter // namely the original Blob img.src = URLObj.createObjectURL(blob); } } window.addEventListener("paste", function(e){ // Handle the event retrieveImageFromClipboardAsBase64(e, function(imageDataBase64){ // If there's an image, open it in the browser as a new window :) if(imageDataBase64){ // data:image/png;base64,iVBORw0KGgoAAAAN...... console.log(imageDataBase64); } }); }, false);完整的html代码如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> ...
点击查看剩余70%
python如何利用ai自动在千牛监听和回复用户消息促成用户下单购买?
ai如何自动监听和回复咸鱼的消息?
如何解决three的三维场景CSS3DObject中iframe穿透一切问题呢?
有没有哪个ai人工智能动态生成鲜活带表情肢体动作逼真数字人与人类交流视频聊天?
threejs如何将iframe与video作为立方体模型一面的材质可点击交互?
UEFI与Legacy启动有啥不同?
可在u盘启动的开源匿名操作系统有哪些?
Pyloid与Pywebview打包生成桌面应用区别?
win10的iso镜像如何通过u盘来安装?
如何解决输入sora2邀请码报错:Sora is not available in The Netherlands yet