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

所属分类:输入-上传

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

vue上传图片组件

vue上传demo,支持多选,拖拽上传
  上传
 13638  33

拖放文件上传与图像预览插件Dropzone.js

dropzone.js是重量轻的JavaScript库,将HTML元素设置为一个降落区,并通过Ajax文件被上传到服务器。
  上传
 56338  102

zyupload图片上传修改版

在原zyupload基础上增加了放大,删除,目录选择功能 。上传的图片可以轮播查看, 上传图片有拖拽图片和文件功能
  上传
 10970  36

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

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

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

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

    经测试,好用呦

    回复
    苦瓜 0
    2017/11/2 14:16:32

    苹果浏览器,好像不行啊

    回复
    不离&不弃 0
    2017/10/19 17:34:09
    JQ怎么赚,每天坚持签到就有吗?
        小猪0
        2017/10/27 19:29:59

        这个真的看不懂

    回复
    欲与雨语 0
    2017/9/4 17:45:33
    JQ币怎么赚啊
        Delusion丿重来0
        2017/9/22 11:41:40

        不知道

    回复
    HaixiaHuang 0
    2017/9/4 10:49:11

    没有jq很难受

        爱死寂寞人0
        2017/10/11 15:50:15

        可以小充点,还有每天坚持签到

    回复
    Fmamcn 0
    2017/8/16 16:40:30

    不知道能不能用

    回复
    佳佳佳佳_嘉 0
    2017/8/13 23:49:19
取消回复