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

所属分类:输入-上传

 123042  227  查看评论 (174)
多图片上传预览(纯前端) ie兼容10

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

引入:

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

相关插件-上传

jQuery File Upload-jQuery上传插件

jQuery File Upload 是一个Jquery图片上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端。
  上传
 591725  279

基于HTML5的jquery文件上传插件

这个插件是照着uploadify的api文档写的
  上传
 81272  178

H5移动前端图片批量压缩上传

在移动端压缩图片并且上传主要用到filereader、canvas 以及 fmdata 这三个h5的api
  上传
 22105  72

BootstrapFileInput 图片上传插件 详解

样式非常美观,并且支持上传文件预览,ajax同步或异步上传,拖曳文件上传等炫酷的功能,完全没有理由不去使用
  上传
 161262  97

讨论这个项目(174)回答他人问题或分享插件使用方法奖励jQ币

    Magic丨先森?? 0
    2017/3/15 15:07:58
    可以的 求看源码 回复
    ? 0
    2017/3/13 17:31:42
    奔跑的骆驼 0
    2017/3/13 9:45:43
    就是不明白 0
    2017/3/9 17:14:32
    星语心愿 0
    2017/3/1 14:43:48

    这个用的怎样啊

    回复
    壁花小姐?? 0
    2017/2/27 17:05:43
    九公主晴朗 0
    2017/2/23 16:56:23
    宁静致远 0
    2017/2/21 15:41:32
    Swifter 0
    2017/2/6 11:41:37

    厉害的   谢谢分享

    回复
    灵雨飘零 0
    2017/2/4 21:01:08
取消回复