前段时间总有些用户问我能不能增加个图片粘贴上传功能,今天才有时间去研究这个。后端代码我就不写出来了,每个主题都不一样。前端JS代码如下:
<script>
setPasteImg();
//获取粘贴板上的图片
function setPasteImg() {
//粘贴事件
document.addEventListener('paste',
function(event) {
if (event.clipboardData || event.originalEvent) {
var clipboardData = (event.clipboardData || event.originalEvent.clipboardData);
if (clipboardData.items) {
var blob;
for (var i = 0; i < clipboardData.items.length; i++) {
if (clipboardData.items[i].type.indexOf("image") !== -1) {
blob = clipboardData.items[i].getAsFile();
}
}
var render = new FileReader();
render.onload = function(evt) {
//输出base64编码
var base64 = evt.target.result;
var fd = new FormData();
fd.append("image", base64);
$.ajax({
url: "上传接口",
type: "POST",
processData: false,
contentType: false,
data: fd,
success: function(result) {
//result就是返回的图片地址,怎么使用看你们自己
}
});
}
render.readAsDataURL(blob);
}
}
})
}
</script>
评论