原生JS和jQuery版实现文件上传功能


Posted in Javascript onApril 18, 2016

本文实例分享了原生JS版和jQuery 版实现文件上传功能的例子,供大家参考,具体内容如下

<!doctype html>
<html lang="zh">
<head>
<meta charset="utf-8">
<title>HTML5 Ajax Uploader</title>
<script src="jquery-2.1.1.min.js"></script>
</head>

<body>
<p><input type="file" id="upfile"></p>
<p><input type="button" id="upJS" value="用原生JS上传"></p>
<p><input type="button" id="upJQuery" value="用jQuery上传"></p>
<script>
/*原生JS版*/
document.getElementById("upJS").onclick = function() {
 /* FormData 是表单数据类 */
 var fd = new FormData();
 var ajax = new XMLHttpRequest();
 fd.append("upload", 1);
 /* 把文件添加到表单里 */
 fd.append("upfile", document.getElementById("upfile").files[0]);
 ajax.open("post", "test.php", true);

 ajax.onload = function () {
 console.log(ajax.responseText);
 };

 ajax.send(fd);
 
}

/* jQuery 版 */
$('#upJQuery').on('click', function() {
 var fd = new FormData();
 fd.append("upload", 1);
 fd.append("upfile", $("#upfile").get(0).files[0]);
 $.ajax({
 url: "test.php",
 type: "POST",
 processData: false,
 contentType: false,
 data: fd,
 success: function(d) {
 console.log(d);
 }
 });
});
</script>
</body>
</html>

php代码:

<?php
if (isset($_POST['upload'])) { 
var_dump($_FILES);
move_uploaded_file($_FILES['upfile']['tmp_name'], 'up_tmp/'.time().'.dat');
//header('location: test.php');
exit;
}
?>

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jQuery 页面载入进度条实现代码
Feb 08 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 Javascript
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
xml转json的js代码
Aug 28 Javascript
jquery的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
js style动态设置table高度
Oct 21 Javascript
js实现炫酷的左右轮播图
Jan 18 Javascript
javascript实现的图片预览功能
Mar 25 Javascript
js实现按座位号抽奖
Apr 05 Javascript
js+SVG实现动态时钟效果
Jul 14 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
Oct 11 Javascript
vue实现二级导航栏效果
Oct 19 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
Apr 18 #Javascript
jQuery 如何给Carousel插件添加新的功能
Apr 18 #Javascript
AngularJS入门教程之AngularJS模型
Apr 18 #Javascript
AngularJS入门教程之AngularJS指令
Apr 18 #Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 #Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 #Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 #Javascript
You might like
VIM中设置php自动缩进为4个空格的方法详解
2013/06/14 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
Jquery 数组操作大全个人总结
2013/11/13 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
BootStrap中
2016/12/10 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
微信小程序实现循环动画效果
2018/07/16 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
详解JavaScript的变量
2019/04/04 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
详解python中各种文件打开模式
2020/01/19 Python
python super函数使用方法详解
2020/02/14 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
2014年社会实践活动总结范文
2014/04/29 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
在职证明格式样本
2015/06/15 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Django rest framework如何自定义用户表
2021/06/09 Python
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL