HTML5上传文件(不含进度条):XHR2+FILE+FormData
来源:互联网 发布:合肥seo网络推广 编辑:程序博客网 时间:2024/06/07 00:37
主要用到了三个方面的技术:
1.使用FILE的API获取待上传的文件对象,比如pic
var pic = document.getElementsByTagName("input")[0].files[0];
2.再使用FormData对象收集待发送的数据,参数其中之一是上面file获取到的对象pic
var fd = new FormData();
fd.append('pic',pic);
3.使用Ajax发送
var xhr = new XMLHttpRequest();
xhr.open('POST','fileup.php',true);
xhr.onreadystatechange = function(){
if(this.readyState ==4)
{
document.getElementById('debug').innerHTML = this.responseText;
}
}
用到的fileup.php如下:
1.使用FILE的API获取待上传的文件对象,比如pic
var pic = document.getElementsByTagName("input")[0].files[0];
2.再使用FormData对象收集待发送的数据,参数其中之一是上面file获取到的对象pic
var fd = new FormData();
fd.append('pic',pic);
3.使用Ajax发送
var xhr = new XMLHttpRequest();
xhr.open('POST','fileup.php',true);
xhr.onreadystatechange = function(){
if(this.readyState ==4)
{
document.getElementById('debug').innerHTML = this.responseText;
}
}
xhr.send(fd);
具体代码如下:
html5up.html如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"><head><title>fileAPI</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript">function selfile(){//创建formData对象var fd = new FormData();//获取文件对象var pic = document.getElementsByTagName("input")[0].files[0];//把文件内容追加到表单数据里fd.append('pic',pic);var xhr = new XMLHttpRequest();xhr.open('POST','fileup.php',true);xhr.onreadystatechange = function(){if(this.readyState ==4){document.getElementById('debug').innerHTML = this.responseText;}}xhr.send(fd);}</script></head> <body> <input type="file" name="pic" onchange="selfile();" /> <div id="debug"></div> </body></html>
用到的fileup.php如下:
<?php //print_r($_FILES);if(empty($_FILES)){exit ('no file');}if ($_FILES['pic']['error']!=0) {exit ('fail');}move_uploaded_file($_FILES['pic']['tmp_name'], 'upload/'.$_FILES['pic']['name']);echo 'ok';?>
0 0
- HTML5上传文件(不含进度条):XHR2+FILE+FormData
- ajax--html5上传文件file api +FormData
- HTML5 jQuery+FormData 异步上传文件,带进度条
- HTML5 jQuery+FormData 异步上传文件,带进度条
- HTML5 jQuery+FormData 异步上传文件,带进度条
- HTML5 FormData多文件上传
- HTML5利用FormData对象实现显示进度条的文件上传【译】
- HTML5利用FormData对象实现显示进度条的文件上传【转】
- 文件上传 含进度条(fileupload控件)
- html5 进度条上传文件
- html5+FormData 实现ajax文件上传
- HTML5 FormData 进行文件jquery ajax 上传
- 利用html5-formdata实现文件异步上传
- FormData序列化及file文件上传
- 利用FormData上传文件不跳转页面
- html5文件上传显示进度条
- HTML5文件上传还有进度条
- XMLHttpRequest2-FormData上传文件方法封装及进度条的实现
- Thread.currentThread().getContextClassLoader()与Test.class.getClassLoader()区别
- 12招jQuery常用技巧
- 利用DHT网络原理制作bt采集蜘蛛,开源版
- 黑马程序员-java字符串总结
- 设置虚拟机内存
- HTML5上传文件(不含进度条):XHR2+FILE+FormData
- JSP编译中的心得,总结
- Unity3D中调用外接摄像头,并保存为图片文件
- 利用DHT网络原理制作bt采集蜘蛛,开源版
- STM32寄存器操作方式学习-时钟配置
- 如何防止僵尸进程的产生之信号
- mkdtemp
- 输入框
- 一个小小的函数(连续删除List中符合条件的一个或多个值)