原生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源码分析-04 选择器-Sizzle-工作原理分析
Nov 14 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
Aug 10 Javascript
Node.js的基本知识简单汇总
Sep 19 Javascript
微信小程序 两种为对象属性赋值的方式详解
Feb 23 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
Mar 04 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
vue2.0实现导航菜单切换效果
May 08 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 Javascript
vuex实现及简略解析(小结)
Mar 01 Javascript
vue下载excel的实现代码后台用post方法
May 10 Javascript
javascript定时器的简单应用示例【控制方块移动】
Jun 17 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
Get或Post提交值的非法数据处理
2006/10/09 PHP
php 传值赋值与引用赋值的区别
2010/12/29 PHP
深入php数据采集的详解
2013/06/02 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
为你总结一些php信息函数
2015/10/21 PHP
php之可变变量的实例详解
2017/09/12 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
创建echart多个联动的示例代码
2018/11/23 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
2014年车间工作总结
2014/11/21 职场文书
西安大雁塔导游词
2015/02/10 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
创业计划书之便利店
2019/09/05 职场文书
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript