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 相关文章推荐
仿新浪微博返回顶部的jquery实现代码
Oct 01 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
Feb 02 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
Mar 27 Javascript
关于JQuery($.load)事件的用法和分析
Apr 09 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
JavaScript中伪协议 javascript:使用探讨
Jul 18 Javascript
JS如何判断json是否为空
Jul 06 Javascript
微信小程序 rich-text的使用方法
Aug 04 Javascript
详解vue-cli3多环境打包配置
Mar 28 Javascript
详解Vue中CSS样式穿透问题
Sep 12 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
微信小程序实现打卡签到页面
Sep 21 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调用mysql存储过程实例分析
2014/12/29 PHP
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
python实现一个简单的ping工具方法
2019/01/31 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
python os.rename实例用法详解
2020/12/06 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
美国第一香水网站:Perfume.com
2017/01/23 全球购物
办公室助理岗位职责
2013/12/25 职场文书
年终晚会主持词
2014/03/25 职场文书
产品设计开发计划书
2014/05/07 职场文书
感恩教育观后感
2015/06/17 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
Python Django搭建文件下载服务器的实现
2021/05/10 Python
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js