zoukankan      html  css  js  c++  java
  • js之上传文件多图片预览

    多图片上传预览功能也是现在非常常用的

    下面是html代码:

    <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">
    
        //下面用于多图片上传预览功能
    
        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; i++) {            
    
    
    
                dd.innerHTML += "<div style='float:left' > <img id='img" + i + "'  /> </div>";
    
                var imgObjPreview = document.getElementById("img"+i); 
    
                if (docObj.files && docObj.files[i]) {
    
                    //火狐下,直接设img属性
    
                    imgObjPreview.style.display = 'block';
    
                    imgObjPreview.style.width = '150px';
    
                    imgObjPreview.style.height = '180px';
    
                    //imgObjPreview.src = docObj.files[0].getAsDataURL();
    
                    //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
    
                    imgObjPreview.src = window.URL.createObjectURL(docObj.files[i]);
    
                }
    
                else {
    
                    //IE下,使用滤镜
    
                    docObj.select();
    
                    var imgSrc = document.selection.createRange().text;
    
                    alert(imgSrc)
    
                    var localImagId = document.getElementById("img" + i);
    
                    //必须设置初始大小
    
                    localImagId.style.width = "150px";
    
                    localImagId.style.height = "180px";
    
                    //图片异常的捕捉,防止用户修改后缀来伪造图片
    
                    try {
    
                        localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
    
                        localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
    
                    }
    
                    catch (e) {
    
                        alert("您上传的图片格式不正确,请重新选择!");
    
                        return false;
    
                    }
    
                    imgObjPreview.style.display = 'none';
    
                    document.selection.empty();
    
                }
    
            }  
    
    
    
            return true;
    
        }
    
    
    
    </script>
    
    </head>
    
    
    
    <body>
    
    <div style="margin :0px auto; 990px;">
    
    <input type="file"  name="file" id="doc" multiple="multiple"  style="150px;" onchange="javascript:setImagePreviews();" accept="image/*" />
    
    <div id="dd" style=" 990px;"></div>
    
    </div>
    
    </body>
    
    </html>
  • 相关阅读:
    ArcMap+ArcCatalog手工新建点层及添加数据
    zedGraph 图表控件总结(一)
    Android 开发学习笔记(五)—— 最简单的注册界面
    repeater实现删除按钮
    repeater分页实例
    FCKeditor的使用说明
    javascript:void(0)是什么意思
    为asp.net控件点击事件添加Confirm()
    LINQ判断素数
    U盘文件不能删除,怎么处理
  • 原文地址:https://www.cnblogs.com/youcong/p/9195404.html
Copyright © 2011-2022 走看看