js之上传文件多图片预览

简介: 多图片上传预览功能也是现在非常常用的下面是html代码:测试页面 //下面用于多图片上传预览功能 function setImagePreviews(avalue) { var docObj = document.

多图片上传预览功能也是现在非常常用的

下面是html代码:

<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; width:990px;">

<input type="file"  name="file" id="doc" multiple="multiple"  style="width:150px;" onchange="javascript:setImagePreviews();" accept="image/*" />

<div id="dd" style=" width:990px;"></div>

</div>

</body>

</html>

 

目录
相关文章
|
9月前
|
JavaScript
JS 上传文件--获取视频文件宽高
JS 上传文件--获取视频文件宽高
289 0
|
10月前
|
JavaScript 前端开发 应用服务中间件
【前端项目笔记】原生js上传文件及文件转换成base64、blob类型
项目中经常会用到上传图片上传视频等功能,由于后端nginx限制,经常要进行文件转化才能上传,大文件可能还要进行切片上传处理。
461 1
|
JavaScript
js 使用fetch来上传文件 formdata()
js 使用fetch来上传文件 formdata()
|
6月前
|
JavaScript 前端开发
图片预览放大js插件
图片预览放大js插件
32 0
|
8月前
|
JavaScript
js实现图片预览翻页
js实现图片预览翻页
|
JavaScript Java 开发工具
JS:Vue项目浏览器直接上传文件到阿里云OSS
JS:Vue项目浏览器直接上传文件到阿里云OSS
1161 0
|
JavaScript
js:Axios通过onUploadProgress获取上传文件进度和上传速度
js:Axios通过onUploadProgress获取上传文件进度和上传速度
419 0
|
JavaScript 前端开发 API
强大的图片预览组件Viewer.js
1、 Viewer.js简介 2、Viewer.js支持的功能 3、Viewer.js的API 4 使用方法 4.1 引入方式 4.2 简单demo 5.viewer.js源码,js版本
1229 0
强大的图片预览组件Viewer.js
|
移动开发 前端开发 JavaScript
原生 JS 手写一个优雅的图片预览功能,带你吃透背后原理
本文将用一个极简的例子详细讲解如何用原生JS一步步实现完整的图片预览和查看功能,无任何第三方依赖,兼容PC与H5,实现了触屏双指缩放等,干货满满。
原生 JS 手写一个优雅的图片预览功能,带你吃透背后原理
|
JavaScript
JS/jQuery图片预览,支持旋转-放大-放小-全屏,例子demo
JS/jQuery图片预览,支持旋转-放大-放小-全屏,例子demo
228 0