• 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">

    //下面用于多图片上传预览功能

    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>

  • 相关阅读:
    人见人爱a+b,算出两个时间的和
    远程推送原理
    iOS中的定时器
    四大对象
    核心动画类关系图
    无沙盒缓存原理
    应用程序的生命周期
    同样明文同样算法得到不同密码原理
    线程状态
    iOS中的几个重要方法
  • 原文地址:https://www.cnblogs.com/tyqing/p/6004796.html
Copyright © 2020-2023  润新知