原生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 相关文章推荐
HTML TO JavaScript 转换
Jun 26 Javascript
jquery.alert 弹出式复选框实现代码
Jun 15 Javascript
js监听输入框值的即时变化onpropertychange、oninput
Jul 13 Javascript
js ajaxfileupload.js上传报错的解决方法
May 05 Javascript
VUEJS实战之构建基础并渲染出列表(1)
Jun 13 Javascript
jQuery的ajax和遍历数组json实例代码
Aug 01 Javascript
基于javascript实现按圆形排列DIV元素(一)
Dec 02 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
jQuery实现复选框的全选和反选
Feb 02 Javascript
vue mixins组件复用的几种方式(小结)
Sep 06 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
Feb 20 Javascript
ES6字符串的扩展实例
Dec 21 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
杏林同学录(一)
2006/10/09 PHP
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php 保留字列表
2012/10/04 PHP
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
laravel5.6实现数值转换
2019/10/23 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
python复制与引用用法分析
2015/04/08 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
三个python爬虫项目实例代码
2019/12/28 Python
python读取与处理netcdf数据方式
2020/02/14 Python
python中rb含义理解
2020/06/18 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
教育基金募捐倡议书
2014/05/14 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书