jquery使⽤FormData实现异步上传⽂件
考虑⼀个常见的⽤户上传头像的场景:
点击按钮,弹出⽂件选择框
选中图⽚并确认后直接上传图⽚
实现这个功能,需要使⽤<input>来添加⽂件,并实现上传功能。传统的上传⽂件是将<input>放到<form>中提交,但在这个场景中并不存在form表单,只有⼀个input⽽已。那么应该如何处理呢?
答案是可以使⽤FormData来实现⽂件的提交。
先看⼀下MDN对FormData的介绍:
XMLHttpRequest Level 2添加了⼀个新的接⼝FormData.利⽤FormData对象,我们可以通过JavaScript⽤⼀些键值
苹果手机xml文件编辑器对来模拟⼀系列表单控件,我们还可以使⽤XMLHttpRequest的send()⽅法来异步的提交这个”表单”.⽐起普通的ajax,使⽤FormData的最⼤优点就是我们可以异步上传⼀个⼆进制⽂件.
linux服务器系统日志这样⼀来,解决问题的思路就出来了:
currency是什么每次选中⽂件并确认后,<input>会触发change事件,在onchange事件处理函数中处理即可。
创建⼀个FormData对象,并将选中的⽂件追加进去。
使⽤Ajax发送这个FormData对象。
下⾯⽤⼀个Demo展⽰具体的代码实现⽤FormData将⽂件发送到⼀个php:
<html>
<head>
<title>Upload</title>
<meta charset="utf-8">ns流程图顺序结构
</head>南大核心cssci期刊目录
jquery下载的文件怎么使用<body>
<input id="file-input" type="file">
<script>
var input = ElementById('file-input');
var data = new FormData();
data.append('file', input.files[0]);
var request = new XMLHttpRequest();
request.open('POST', './upload.php');
request.send(data);
};
</script>
</body>
</html>
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。