欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js文件上传以及js清空inputfile值的方法教程

程序员文章站 2023-11-15 12:32:46
最近项目中遇到文件上传的案例, 之前涉及文件上传的较少, 今天针对js文件上传的案例做一个详细的教程,方便日后查阅! 本教程从 原生js, jquery, 两处着手简单介绍文件上...

最近项目中遇到文件上传的案例, 之前涉及文件上传的较少, 今天针对js文件上传的案例做一个详细的教程,方便日后查阅!

本教程从 原生js, jquery, 两处着手简单介绍文件上传案例

1、原生js

var test= document.getelementbyid('test');

var formdata = new formdata();

formdata.append('version_file', test.files[0]);



var ajax = new xmlhttprequest();

ajax.open("post", "test.php", true);

ajax.send(formdata );

2、jquery

var formdata = new formdata();

var test = $('#test')[0].files[0];		//或者 $('#test').get(0).files[0]);

formdata.append('version_file', test);


$.ajax({
	type: 'post',
	url: 'test.php',
	data: data,
	success: function(res){
		console.log(res)
	}
})

这里我打印下$('#test') ,解释下$('#test')[0].files[0]的出处,看下图:

js文件上传以及js清空inputfile值的方法教程

============================================================

js文件上传以及js清空inputfile值的方法教程

============================================================

js文件上传以及js清空inputfile值的方法教程

============================================================

接下来就是上传完文件后把inputtype为file的文本框的文件信息清除了

方法有三:

【1】

var test = doucment.getelementbyid('test');
test.value = ''; 					//虽然test的value不能设为有字符的值,但是可以设置为空值

【2】

var test = doucment.getelementbyid('test');
test.outerhtml = test.outerhtml; 	 //重新初始化了test的html

【3】有人在博客提出这种方法,测试无效!

var test = doucment.getelementbyid('test');
test.select(); 
document.selection.clear();

笔者项目是用angularjs 1进行开发的。据说ng-file-upload插件也可以上传文件,没有尝试,亲们可以试下!