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 相关文章推荐
js 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
JavaScript 学习笔记二 字符串拼接
Mar 28 Javascript
jquery isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
js倒计时简单实现方法
Dec 17 Javascript
jQuery实现textarea自动增长宽高的方法
Dec 18 Javascript
JavaScript实现99乘法表及隔行变色实例代码
Feb 24 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
AngularJS动态绑定HTML的方法分析
Nov 07 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
Jun 29 Javascript
浅谈JS封闭函数、闭包、内置对象
Jul 18 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
Oct 25 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
May 26 jQuery
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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
javascript正则表达式总结
2016/02/29 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
Python和C/C++交互的几种方法总结
2017/05/11 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
python numpy数组复制使用实例解析
2020/01/10 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
python实现磁盘日志清理的示例
2020/11/05 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
教师年终个人自我评价
2013/10/04 职场文书
三项教育活动实施方案
2014/03/30 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
硕士学位申请报告
2015/05/15 职场文书
闪闪红星观后感
2015/06/08 职场文书
李强为自己工作观后感
2015/06/11 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
python scipy 稀疏矩阵的使用说明
2021/05/26 Python
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA