189 8069 5689

HTML5连续上传图片

/*
by 的雨
time:2016/11/17
*/
function update_object()
{
	//这是在实例化的时候,同时调用int方法
	this.int.apply(this,arguments);
}
//这是原型链 == 一个对象
update_object.prototype={
	int:function(options)
	{
		//这是接收从调用的时候传过来参数
		this.CC=options.CC;
		this.tishi=options.tishi;
		this.BB=options.BB;
		this.show=options.show;
		this.myfile=options.myfile;
		this.array=[];
		var that=this;
		this.btn=options.btn;
		this.myfile.onchange=function()   //input发生改变的时候触发(onchange事件)
		{
			//第一步骤,这个步骤是找到file,即上传的文件
			var files = this.files;
			/*
			concat() 方法用于连接两个或多个数组。 把that.filter(files)添加到that.array,这样that.array就会不断的保存file数组
			该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
			*/
			that.array=that.array.concat(that.filter(files));
			that.Index();
			return this;
		}
		//这是点击上传的步骤
		this.btn.onclick=function(e)
		{
			that.array;
			var e=e||event;
			e.preventDefault();
			//点击的同时调用上传的方法
			that.upload();
		}
		
	},
	//第二步骤,这是过滤file的步骤,这一步在concat之前就调用
	filter: function(files) {	
		var arrFiles=[];
		for (var i = 0, file; file = files[i]; i++) {
			if (file.type.indexOf("p_w_picpath") == 0) {
				//if (file.size >= 512000) {
				////	alert('您这张"'+ file.name +'"图片大小过大,应小于500k');	
				//} else {
					arrFiles.push(file);	
				//}			
			} else {
				alert('文件"' + file.name + '"不是图片。');	
			}
		}
		return arrFiles	;
	},
	//第三步骤,这是为每个file添加索引,在concat连接之后调用,把之前的this.array的内容改变了
	Index: function() {
		
		for (var i = 0, file; file = this.array[i]; i++) {
			//增加唯一索引值
			file.index = i;
		}
		//这里的this.array已经有索引
		this.onSelect(this.array);
		return this;
	},
	//第四步骤,是生成img预览和删除预览
	onSelect: function(files) {
		var that=this;
		var html = '', i = 0;
		
		//动态创建img和li
		var show1 = function() 
		{
			
			file = files[i];
			
			if (file){
				//var reader = new FileReader()
				var URL=window.URL.createObjectURL(file)
				//reader.onload = function(e) 
				//{
					html+='上传成功
'+file.name+'×'; //console.log(file); i++; show1(); that.show.style.display='block'; that.show.innerHTML=html; //} //reader.readAsDataURL(file);e.target.result }  }; show1(); //这是删除预览,同时把已经删除的file的索引传到下一个数组 var del=function() { if (this.show.hasChildNodes()) { var Li=this.show.getElementsByTagName('li'); var length=this.show.childNodes.length; for(var i=0;i

  这是调用的

创新互联一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!为您提供成都网站制作、成都网站设计、成都网页设计、微信小程序开发、成都网站开发、成都网站制作、成都软件开发、成都app开发是成都本地专业的网站建设和网站设计公司,等你一起来见证!

 




	
    
                    
                                    

 个人是新手,所以写的代码不规范,还请多多包涵。我也是在网上找了很久,找不到全是纯JavaScript写的,所以想把这篇,让新手学习。


本文名称:HTML5连续上传图片
链接URL:http://cdxtjz.cn/article/jopjhp.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。