文件上传带参数,以及header

前段时间因为公司的业务需求,需要实现图片,与参数一起上传到服务端。后面通过查资料,再结合自己已知的知识点解决了问题;

原本项目使用的axios请求后端,后面查询axios的资料与api也没能解决问题,后来想起了原生的上传文件的方式。

以下是实现的部分代码

<body>
	<input type='file' id='file'>
</body>

<script>
	var file=document.querySelector('#file');
	file.addEventListener('change',function(event){
		const from=new FormData();
		//添加字段与图片or文件
		//from.append('字段名',内容);
		from.append('img',event.target.files[0]);
		from.append('name','123');
		//编辑好参数与文件后在利用ajax进行网络请求
		const xhr=new XMLHttprequest();
		xhr.open('get','链接');
		//xhr.setRequestHeader('header','value') 可以利用此方法进行header的修改与添加,必须在open之后再使用
		xhr.send(from);
		xhr.onreadystatechange=function(){
			if(this.readyState===4&&this.status===200){
				console.log(this.respone)//相应的数据
			}
		}
	})
</script>

此方法上传的服务端是node,使用的egg,内置有api供接收图片(文件)与参数,这里就不作过多的解答(其他的暂不了解)

发布了6 篇原创文章 · 获赞 0 · 访问量 109

猜你喜欢

转载自blog.csdn.net/qq_40633789/article/details/104802328
今日推荐