Javascript 粘贴图片并上传
ZKEASOFT July 04, 2017
使用截图工具截图时,可以把图片放到剪贴板中而不用保存图片,在要用到的地方直接粘贴,这个非常方便,那么怎么样使用 Javascript 来获取内存(剪贴板)中的图片呢?获取到以后,就可以上传了。
直接上代码
document.querySelector("#background-image").addEventListener("paste", function (e) {
var target = e.target;
var cbData;
if (e.clipboardData) {
cbData = e.clipboardData;
} else if (window.clipboardData) {
cbData = window.clipboardData;
}
if (cbData && cbData.items) {
for (var i = 0; i < cbData.items.length; i++) {
if (cbData.items[i].type.indexOf('image') !== -1) {
target.parentNode.className = target.parentNode.className + " processing";
target.value = "图片上传中...";
var file = cbData.items[i].getAsFile();
var xhr = new XMLHttpRequest();
xhr.open("POST", "/admin/media/Upload");
xhr.onload = function (data) {
target.parentNode.className = target.parentNode.className.replace(" processing", "");
var result = JSON.parse(data.target.response);
if (result.id) {
target.value = result.url;
updateDisplay();
}
}
xhr.onerror = function () {
target.parentNode.className = target.parentNode.className.replace(" processing", "");
target.value = "图片上传失败";
}
var formData = new FormData();
formData.append('file', file);
formData.append("folder", "图片");
xhr.send(formData);
break;
}
}
}
});
效果演示

