<script>
$(#avatar).on('change',function(){
//当文件选择状态发生改变是会执行这个时间处理函数
var files = $(this).prop('files');//获取这个选择的文件
if (!files.length) return; //如果没有选择文件则返回
//拿到我们要上传的文件
var file = files[0];
//FormData是html5中新增的成员,专门配合ajax操作用户在客户端与服务器之间传递的二进制数
var data = new FormData();
data.append('avatar', file); //avatar 是文件上传的那么名称,类似$_FILES['avatar']
//ajax发送请求
var xhr = new XMLHttpRequest();
xhr.open('POST','admin/api/upload.php');//post 提交 后面的是提交地址
xhr.send(data); //借助form data传递文件
xhr.onload = function(){
this.responseText; //接收上传后的返回值
}
})
</script>
注意:在js中和服务端都需要对文件进行校验,在服务端用$_FILES['avatar'] 来接收文件上传的数据.同时用 if($_FILES['avatar']=== UPLOAD_ERR_OK) 来判断文件是否上传成功
可以用$ext = pathinfo($avatar['name'],PATHINFO_EXTEN);来获取文件的扩展名 例如png jpeg 注意前面没有 点