JavaScript使用Ajax上传文件的示例代码


Posted in Javascript onAugust 10, 2017

本文介绍了JavaScript使用Ajax上传文件的示例代码,分享给大家,具体如下:

实现文件的上传主要有两种方式:

使用form表单提交上传

html代码如下:

<form id="uploadForm" enctype="multipart/form-data">
  <input id="file" type="file" name="file"/>
  <button id="upload" type="button">上传</button>
</form>

此时的JavaScript代码如下:

var formData = new FormDate($('#uploadForm')[0]);

 $.ajax({
        url: 'http://10.10.2.254:8080/file/associateupload',
        type: 'POST',
        cache: false,
        data: formData,
        processData: false,
        contentType: false,
        success:function(res){
            console.log(res);
        }
    });

需要注意:

  1. processData设置为false。因为data值是FormData对象,不需要对数据做处理。
  2. <form>标签添加enctype="multipart/form-data"属性。
  3. cache设置为false,上传文件不需要缓存。
  4. contentType设置为false。因为是由<form>表单构造的FormData对象,且已经声明了属性enctype="multipart/form-data",所以这里设置为false。

使用FormData对象添加字段方式上传文件

html代码如下:

<div id="uploadDiv">
  <input id="file" type="file"/>
  <button id="upload" type="button">上传</button>
</div>

JavaScript实现如下:

var formData = new FormData();
formData.append('file', $('#file')[0].files[0]);
$.ajax({
  url: '/upload',
  type: 'POST',
  cache: false,
  data: formData,
  processData: false,
  contentType: false,
  success:function(res){
     console.log(res);
  }

这里有几处不一样:

  • append()的第二个参数应是文件对象,即$('#file')[0].files[0]。contentType也要设置为false。
  • 从代码$('#file')[0].files[0]中可以看到一个<input type="file">标签能够上传多个文件,只需要在<input type="file">里添加multiple或multiple="multiple"属性。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
禁止F5等快捷键的JS代码
Mar 06 Javascript
javascript学习笔记(五)正则表达式
Apr 08 Javascript
cument.execCommand()用法深入理解
Dec 04 Javascript
jquery实现简单易懂的图片展示小例子
Nov 21 Javascript
减少访问DOM的次数提升javascript性能
Feb 24 Javascript
jQuery中get()方法用法实例
Dec 27 Javascript
JavaScript删除指定子元素代码实例
Jan 13 Javascript
Juery解决tablesorter中文排序和字符范围的方法
May 06 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
JS中touchstart事件与click事件冲突的解决方法
Mar 12 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
May 15 Javascript
jquery对table做排序操作的实例演示
Aug 10 #jQuery
基于JavaScript实现飘落星星特效
Aug 10 #Javascript
提高Node.js性能的应用技巧分享
Aug 10 #Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
Aug 10 #Javascript
纯js实现页面返回顶部的动画(超简单)
Aug 10 #Javascript
基于daterangepicker日历插件使用参数注意的问题
Aug 10 #Javascript
通过示例彻底搞懂js闭包
Aug 10 #Javascript
You might like
php SQL之where语句生成器
2009/03/24 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
vue使用nprogress实现进度条
2019/12/09 Javascript
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
老生常谈Python基础之字符编码
2017/06/14 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
python3正则模块re的使用方法详解
2020/02/11 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
上班迟到检讨书
2014/01/10 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
入党积极分子个人总结
2015/03/02 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
六年级作文之预言作文
2019/10/25 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server