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

所属分类:输入-上传

 137539  239  查看评论 (196)
多图片上传预览(纯前端) 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>
相关插件-上传

基于H5的图片拖拽和预览插件dropify

基于HTML5,能支持将本地图片拖入网页并预览图片的插件。
  上传
 16223  64

jQuery文件上传

这是一个文件上传的展示,看很多插件,并不满意就自己写了一个,可能兼容性不是很好,没有准确进行测试过,还请各位不吝赐教
  上传
 12008  40

基于Bootstrap 3可预览的HTML5文件上传插件

bootstrapfileinput是一款基于Bootstrap 3.x的HTML5文件上传插件。该文件上传插件带有预览图效果,可同时选择多个文件。该插件使用bootstrap CSS3样式来制作文件上传界面。并且它提供了多国语言,你可以选择使用中文。
  上传
 59947  189

jQuery文件上传插件angularfileupload

angular-file-upload 是一款轻量级的 AngularJS 文件上传工具,为不支持浏览器的 FileAPI polyfill 设计,使用 HTML5 直接进行文件上传。
  上传
 33691  75

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

    糖钉子 0
    2017/6/13 10:00:45

    可以删除图片吗?

    回复
    Never丶 0
    2017/5/22 17:22:00

    感谢分享!!!!

        张卵卵0
        2017/6/4 15:26:55

        感谢分享!!!!

    回复
    枫叶?? 0
    2017/5/18 13:45:38

    不知道能不能用

    回复
    白熊有肉 0
    2017/5/15 10:08:36

    ie9及以下用不了

    回复
    ? 小永远?? 0
    2017/5/14 10:11:53

    ie 360 还是不能显示图片啊,就谷歌可以,是为什么?谢谢

    回复
      0
    2017/5/3 16:03:51
    独一无 二 0
    2017/5/1 21:51:11

    找了好久啊!谢谢!

    回复
    徐洁普 0
    2017/4/30 21:15:56

    这个是单图的啊 有多图的吗

    回复
    Ben 0
    2017/4/18 9:45:43

    很棒啊  看样子

        酥油茶0
        2017/4/24 10:41:38

        不错

    回复
    猫の?贝 0
    2017/4/14 10:27:48
    这个会限制图片大小 ,图片格式么
        Ben0
        2017/4/18 10:09:24

        可以自己设置限制图片的格式大小嘛

    回复
取消回复