h5图片上传预览

项目中常用到文件上传预览功能,整理一下:如果不想使用 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>

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

时间: 2024-08-07 07:34:21

h5图片上传预览的相关文章

H5 实现图片上传预览

1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8" /> 6 <title>图片上传预览</title> 7 <style> 8 .check_box{ 9 position: relative; 10 width: 100px; 11 height: 100px; 12 margin: 20px; 13 display: flex

JS实现图片上传预览效果:方法一

<script type="text/javascript"> //处理file input加载的图片文件 $(document).ready(function(e) { //判断浏览器是否有FileReader接口 if(typeof FileReader =='undefined') { /*$("#images_show").css({'background':'none'}).html('亲,您的浏览器还不支持HTML5的FileReader接口

JavaScript 图片上传预览效果

图片上传预览是一种在图片上传之前对图片进行本地预览的技术.使用户选择图片后能立即查看图片,而不需上传服务器,提高用户体验.但随着浏览器安全性的提高,要实现图片上传预览也越来越困难.不过群众的智慧是无限的,网上已经有很多变通或先进的方法来实现.例如ie7/ie8的滤镜预览法,firefox 3的getAsDataURL方法.但在opera.safari和chrome还是没有办法实现本地预览,只能通过后台来支持预览.在研究了各种预览方法后,作为总结,写了这个程序,跟大家一起分享.上次写的简便无刷新文

js:s上次预览,上传图片预览,图片上传预览

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

html,图片上传预览,input file获取文件等相关操作

input file常用方法: var obj=document.getElementById("upimage"); var file=obj.files[0];//获取文件数据 var path=obj.value;//获取文件当前路径 var size=obj.files[0].size;//获取文件大小 var prefix=path.substring( path.lastIndexOf('\\')+1 );//获取文件名的前缀名(文件格式) var suffix=path.

js前端实现多图图片上传预览

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试页面</title> <script type="text/javascript"> //下面用于

Javascript之图片上传预览

使用Javascript之图片上传预览,我们无需上传到服务器中,兼容所有浏览器. 关键方法是使用微软库filter:progid:DXImageTransform.Microsoft.AlphaImageLoader来生成本地图片预览图的. <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <

多图片上传预览功能

//下面用于多图片上传预览功能 function setImagePreviews(avalue) { var docObj = document.getElementById("doc"); var dd = document.getElementById("dd"); dd.innerHTML = ""; var fileList = docObj.files; for (var i = 0; i < fileList.length;

移动端图片上传预览

前天要做wap版的图片上传预览,找了好半天才找到比较适合的插件,我在该插件的基础上修改了一些东西,比如:上传后的图片删除后不能再添加.不能限制上传图片的数量. input虽然有multiple(多选),但是android目前是不支持的. 该插件控制不了不能上传同一张图片,暂时没有思路解决这个问题(:′д`)ゞ 1 <!DOCTYPE html> 2 <html lang="zh-cn"> 3 4 <head> 5 <meta charset=&