分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

h5图片上传预览

发布时间:2023-09-06 01:48责任编辑:沈小雨关键词:暂无标签

项目中常用到文件上传预览功能,整理一下:如果不想使用 type="file" 的默认样式,可以让其覆盖在一个按钮样式上边,设其透明度为0,或者使用Label关联

html

<div> ????<div class="figure-box" id="figure_box"></div> ?????<input type="file" id="imgUploadBtn" /> ?????????????<label for="imgUploadBtn" onclick="addWork.add(‘imgUploadBtn‘,‘figure_box‘)">上传</label></div>
<script> ???????var addWork = { ???????????add: function(btn, figure_box) { ???????????????var figureBox = document.getElementById(figure_box); //获取显示图片的div元素 ????????????????var input = document.getElementById(btn); //获取选择图片的input元素 ????????????????//这边是判断本浏览器是否支持这个API。 ????????????????if (typeof FileReader === ‘undefined‘) { ???????????????????alert("浏览器版本过低,请先更新您的浏览器~"); ???????????????????input.setAttribute(‘disabled‘, ‘disabled‘); ???????????????} else { ???????????????????input.addEventListener(‘change‘, readFile, false); ???????????????????//如果支持就监听改变事件,一旦改变了就运行readFile函数。 ????????????????} ???????????????function readFile() { ???????????????????var file = this.files[0]; //获取file对象 ????????????????????//判断file的类型是不是图片类型。 ????????????????????if (!/image\/\w+/.test(file.type)) { ???????????????????????alert("请上传一张图片~"); ???????????????????????return false; ???????????????????} ???????????????????var reader = new FileReader(); //声明一个FileReader实例 ????????????????????reader.readAsDataURL(file); //调用readAsDataURL方法来读取选中的图像文件 ????????????????????//最后在onload事件中,获取到成功读取的文件内容,并以插入一个img节点的方式显示选中的图片 ????????????????????reader.onload = function(e) { ??????????????????????????????????var figure = $(‘<img src="‘ + this.result + ‘" />‘);
???????????????????????figure.appendTo(figureBox); ???????????????????} ???????????????} ???????????} ???????} </script>

h5图片上传预览

原文地址:https://www.cnblogs.com/tizi/p/8695880.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved