文本,粘贴事件如何实现,先实现一个小目标,如何存入图片,从本地生成源码,先转成base64,ctrl + v这张图片就显示出来了怎样实现的,Vue可以有方法可以获取粘贴的所有元素,转base64字符串

简介: 文本,粘贴事件如何实现,先实现一个小目标,如何存入图片,从本地生成源码,先转成base64,ctrl + v这张图片就显示出来了怎样实现的,Vue可以有方法可以获取粘贴的所有元素,转base64字符串

up主审陌,本文转载于审陌大大的资料:

如何实现图片粘贴js_哔哩哔哩_bilibili

源码:

 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图片粘贴</title>
    <style>
        #img{
            width: 800px;
            box-shadow: 0 0 5px blue;
        }
</style>
    
</head>
<body>
   <h2>复制或剪切图片后以ctrl + V 粘贴</h2>
   <img id="img" src="" alt="">
</body>
<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;
                            document.getElementById('img').setAttribute('src',base64);
                        }
                        render.readAsDataURL(blob);
                    }
 
                }
 
            })
 
        }
</script>
</html>

效果:

前端实现粘贴图片预览的功能,原来如此简单_哔哩哔哩_bilibili

up主大伟聊前端

图片转成base64的两种实现方式

前端实现粘贴图片预览的功能,原来如此简单_哔哩哔哩_bilibili

第一步:我要在Html中定义一个div

备份和提取

第二步:获取之后,可以

第三步 如果是image文件,我们就把他存成file的文件

第四步:base64字符串

大伟聊前端的源码,这个源码没有跑起来:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .img {
        width: auto;
        height: 100%;
        max-width: 100%;
    }
</style>
<body>
    <div class="past-contener">
    </div>
    
</body>
</html>
<script>
 
        const el = document.getElementById('past-contener');
        
 
        window.onload=function(){
        el.addEventListener('paste',function(e){
        let file = null;
        const items = (e.clipboardData || window.clipboardData).items;
        if (items && items.length){
            for ( var i = 0; i< items.length; i++){
                if (items[i].type.indexOf('image') !== -1){
                    file = items[i].getAsFile();
                    break;
                }
            }
        }
        console.log(file,'file')
        if(file) {
            var reader = new FileReader()
            reader.onload = function(event){
                // event.target.reslt就是图片的base64地址
                let img = document.createElement('img');
                el.appendChild(img);
            }
            reader.readAsDataURL(file)
        }
    }
    )}
}
 
   
    // 此事件监听可以在document上,该时间有冒泡行为,页面上任何粘贴操作都会触发
   
 
</script>
</body>
</html>
相关文章
|
19天前
|
移动开发 JavaScript API
Vue Router 核心原理
Vue Router 是 Vue.js 的官方路由管理器,用于实现单页面应用(SPA)的路由功能。其核心原理包括路由配置、监听浏览器事件和组件渲染等。通过定义路径与组件的映射关系,Vue Router 将用户访问的路径与对应的组件关联,支持哈希和历史模式监听 URL 变化,确保页面导航时正确渲染组件。
|
23天前
|
监控 JavaScript 前端开发
ry-vue-flowable-xg:震撼来袭!这款基于 Vue 和 Flowable 的企业级工程项目管理项目,你绝不能错过
基于 Vue 和 Flowable 的企业级工程项目管理平台,免费开源且高度定制化。它覆盖投标管理、进度控制、财务核算等全流程需求,提供流程设计、部署、监控和任务管理等功能,适用于企业办公、生产制造、金融服务等多个场景,助力企业提升效率与竞争力。
79 12
|
19天前
|
JavaScript 前端开发 开发者
Vue中的class和style绑定
在 Vue 中,class 和 style 绑定是基于数据驱动视图的强大功能。通过 class 绑定,可以动态更新元素的 class 属性,支持对象和数组语法,适用于普通元素和组件。style 绑定则允许以对象或数组形式动态设置内联样式,Vue 会根据数据变化自动更新 DOM。
|
19天前
|
JavaScript 前端开发 数据安全/隐私保护
Vue Router 简介
Vue Router 是 Vue.js 官方的路由管理库,用于构建单页面应用(SPA)。它将不同页面映射到对应组件,支持嵌套路由、路由参数和导航守卫等功能,简化复杂前端应用的开发。主要特性包括路由映射、嵌套路由、路由参数、导航守卫和路由懒加载,提升性能和开发效率。安装命令:`npm install vue-router`。
|
2月前
|
JavaScript 安全 API
iframe嵌入页面实现免登录思路(以vue为例)
通过上述步骤,可以在Vue.js项目中通过 `iframe`实现不同应用间的免登录功能。利用Token传递和消息传递机制,可以确保安全、高效地在主应用和子应用间共享登录状态。这种方法在实际项目中具有广泛的应用前景,能够显著提升用户体验。
117 8
|
3月前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
161 1
|
2月前
|
存储 设计模式 JavaScript
Vue 组件化开发:构建高质量应用的核心
本文深入探讨了 Vue.js 组件化开发的核心概念与最佳实践。
85 1
|
4月前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
116 58
|
3月前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
4月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
70 1
vue学习第一章

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等