多图片上传预览(纯前端)

所属分类:输入-上传

 258831  585  查看评论 (229)
分享到微信朋友圈
X
多图片上传预览(纯前端) ie兼容10

更新时间:2020-09-07 06:31:55

更新说明:调整样式,去除高度固定,使图片预览不变形。


更新时间:2014-11-08 06:37:08

简单的前端多图上传预览,没有后台代码,主要解决多个浏览器显示问题兼容性。

引入:

<script src="/pace/pace.min.js"></script>
<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>
相关插件-上传

pc端图片批量上传,可拖动图片交换位置

jQuery可批量上传图片 可以拖动交换位置 可删除
  上传
 67053  460

html5文件上传插件Pure HTML5 file upload

html5文件上传插件Pure HTML5 file upload
  上传
 84747  381

js上传图片预览

js上传图片本地预览
  上传
 115773  536

jQuery多图上传

jQuery多图图片上传.net后端以写好,直接使用
  上传
 83119  465

讨论这个项目(229)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    Vien 0
    2018/7/8 13:59:00
    多图?? 我怎么测试出来是单图上传呢 回复
    NO MORNING 0
    2018/4/26 13:45:21
    ie到底支持到哪里啊 回复
    huangshiwin 0
    2018/3/4 11:10:02
    ie6、7、8、9j是真的支持预览。。。,花了jq币上当了
        须将0
        2018/3/6 15:50:10
        强强强强强强强强
    回复
    Hu.R 0
    2018/2/5 22:22:49

    我的为什么打开选择图片的弹窗会要等2到3秒呢,感觉打开有点慢

    回复

    O.W.P 0
    2018/1/12 16:53:15

    谢谢分享,正好需要

    回复
    ┽未来只靠自己つ 0
    2017/12/24 12:03:09

     不知道怎么用!!~~~

        selfimpr0
        2018/5/31 23:53:20
        慢慢卡来
    回复
    树皮 0
    2017/11/27 13:31:42
    赞,但是没积分下载 回复
    张玉兰 0
    2017/11/21 11:32:41
    望海 0
    2017/11/14 14:28:41

    传给后台的话怎么传啊,本人菜鸟

    回复
    maomaomaomao 0
    2017/11/6 22:21:00

    经测试,好用呦

    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复