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获得QQ号码的昵称,头像,生日的简单实例
Dec 04 Javascript
一个简单的全屏图片上下打开显示网页效果示例
Jul 08 Javascript
javascript文本模板用法实例
Jul 31 Javascript
JavaScript如何实现组合列表框中元素移动效果
Mar 01 Javascript
JavaScript事件代理和委托详解
Apr 08 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
Nov 25 Javascript
详解JavaScript中的属性和特性
Dec 08 Javascript
Bootstrap入门教程一Hello Bootstrap初识
Mar 02 Javascript
React/Redux应用使用Async/Await的方法
Nov 16 Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
Oct 01 Javascript
详解项目升级到vue-cli3的正确姿势
Jan 28 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中static静态变量的使用方法详解
2010/06/04 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
用 JavaScript 迁移目录
2006/12/18 Javascript
读jQuery之一(对象的组成)
2011/06/11 Javascript
js函数排序的实例代码
2013/07/01 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
微信小程序页面上下滚动效果
2020/11/18 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
python通过shutil实现快速文件复制的方法
2015/03/14 Python
Python去除字符串两端空格的方法
2015/05/21 Python
python中的变量如何开辟内存
2018/06/26 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
python实现简单猜单词游戏
2020/12/24 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
中学老师的自我评价
2013/11/07 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
求职简历中的自我评价分享
2013/12/08 职场文书
初中英语教学反思
2014/01/25 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
地方课程教学计划
2015/01/19 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书