上传多张照片并实现预览过程

function selectImage(imgFile){
		//上传的多张图片
		var allFiles = imgFile.files;
		var imgArr = [];
		for(var i=0;i<allFiles.length;i++){
			var file = allFiles[i];
			//添加一层过滤
	        var rFilter = /^(image\/bmp|image\/gif|image\/jpeg|image\/png|image\/tiff)$/i;
	        if(!rFilter.test(file.type)) {
	            alert("文件格式必须为图片");
	            return;
	        }

	        var reader = new FileReader();
	        reader.readAsDataURL(file);
	        reader.onload = function(e){
	        	//计算最后一个窗口right边距,当时处于第4个的时候,right=0
            if((allFiles.length + 1)%4 == 0){
                document.getElementById("uploadBtn").style.marginRight = "0px";
            }
            //以下就是将所有上传的图片回显到页面上,如果需要用canvas进行剪裁再回显以下代码就放入到canvas中
            var li = document.createElement(‘li‘);
            li.className = "upload-li";
            li.innerHTML = ‘<div class="item image">‘+
                                ‘<img class="upload-image" src="‘+e.target.result+‘"/>‘+
                            ‘</div>‘;
            document.getElementById("uploadUL").insertBefore(li, document.getElementById("uploadBtn"));
	        }
		}
	}

<input type="file" multiple onchange="selectImage(this)" accept="image/gif, image/jpeg, image/png" id="upload" >
<ul id="uploadUL"></ul>

原文地址:https://www.cnblogs.com/dyy-dida/p/9466912.html

时间: 2024-10-13 20:15:02

上传多张照片并实现预览过程的相关文章

jQuery图片上传前先在本地预览

/**名称:图片上传本地预览插件 v1.1*作者:周祥*时间:2013年11月26日*介绍:基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari*插件网站:http://keleyi.com/keleyi/phtml/image/16.htm*参数说明: Img:图片ID;Width:预览宽度;Height:预览高度;ImgType:支持文件类型;Callback:选择文件显示图片后回调方法;*使用方法: <div><img id="I

关于js上传文件的校验以及预览

花了一上午的时间理了下思路,整理了下上传方面的问题.主要是关于格式的校验以及大小和数量的校验,可能有部分缺失,望大家提出,及时修正. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>文件上传测试</title> <style

jQuery图片上传前先在本地预览(不经过后端处理)

前段时间遇到一个问题,前端想实现图片上传预览(不经过后端PHP或JAVA处理),用户点击file按钮上传文件,点击确定马上就能看到预览的效果,但在实现的时候无论怎样都取不到file上图片的真实路径,得到的反而是C:\fakepath\a.jpg,这个路径是错误的.百度之后得到说浏览器基于保护用户的相关安全措施,隐藏了上传的真实路径,用fakepath代替,当然,调整浏览器的相关安全设置可以解决这个问题.但我们不可能让所有用户都通过设置浏览器的安全设置来进行图片上传,这种方法在网络交互上显然不现实

百度编辑器上传视频以及视频编辑器预览bug解决

百度编辑器目前来讲是运用比较广泛的一个编辑器了,不仅开源还有中文的文档,所以很受欢迎,不过里面也有许多地方需要开发人员自己调试,其中一个比较常见的问题就是上传视频了,上传视频本身有一些小bug,这个基本最大的体现就是编辑器内无法预览上传的视频问题. 我搜集了网上的解决方案,发现基本都一样,大多数都是复制黏贴的答案,虽说一定程度解决了编辑器上传不显示的问题,但却造成了新的bug,例如上传视频框无法关闭,还有只要等切换源码模式再返回来又看不到预览的视频了等. 所以最后还是自己动手丰衣足食,最后终于找

mvc文件上传支持批量上传,拖拽以及预览,文件内容校验等

使用bootstrap-fileinput 使用方式: 1.nuget:Install-Package bootstrap-fileinput 2.语言本地化{下载fileinput_locale_zh.js}或者修改Fileinput中的本地化词汇 3.文件大小限制:修改fileinput.js中的3195行 maxFilePreviewSize配置节点 示例:前台 @{ Layout = null; } <!DOCTYPE html> <html> <head> &

input上传mp3格式文件,预览并且获取时间

<input type="file" id="file" name="file" class="upfile" onchange="fileupload(this)"/> <audio id="audio" controls="" style="display: none;"></audio> //附件展示 $(

java文件上传、下载、图片预览

多文件保存到本地: @ResponseBody    @RequestMapping(value = "/uploadApp",produces = { "application/json;charset=UTF-8" },method= RequestMethod.POST)    public String uploadApp( HttpServletRequest request,@RequestParam("file") Multipar

Android Camera预览过程数据流浅析

硬件平台:Atmel SAMA5D3 SoC + OV2640 Camera Sensor Android版本:4.2.2 mediaserver进程是Camera Service的容器进程,它会动态加载Camera HAL和Gralloc HAL. 视频数据帧首先必须从Camera驱动程序到达Camera硬件抽象层. 在Camera硬件抽象层,视频数据帧被从video capture buffer拷贝到gralloc buffer. surfaceflinger进程作为显示服务器会动态加载HW

微信JS-SDK上传多张照片

通过JS-SDK进行操作的基本步骤包括:引用微信的JS.配置权限验证参数及使用的接口.通过ready及error验证配置及功能接口的使用等.如下以上传图片Demo为例进行说 (1)引入JS及配置调用参数 <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script type="text/javascript"> wx.config({