网站中文件的异步上传是个比较麻烦的问题,不过现在通过jquery 可以很容易的解决这个问题;

使用jquery2.1版本,较老版本不支持异步文件上传功能;

表单代码:

  1. <form id="fileUploadForm">
  2. <input type="file" name="file" class="imageUpload"/>
  3. <span id="commit">提交到服务器</span>
  4. </form>
  1. <form id="fileUploadForm">
  2. <input type="file" name="file" class="imageUpload"/>
  3. <span id="commit">提交到服务器</span>
  4. </form>
<form id="fileUploadForm">
<input type="file" name="file" class="imageUpload"/>
<span id="commit">提交到服务器</span>
</form>

创建一个表单,里面包含一个file input

脚本代码:

  1. function uploadFile() {
  2. //将表单封装为一个formData对象
  3. var formData = new FormData($('#fileUploadForm')[0]);
  4. $.ajax({
  5. url:'http://127.0.0.1:8080/image/',
  6. type:'POST',
  7. //将formData对象作为参数进行上传
  8. data:formData,
  9. contentType: false,
  10. processData: false,
  11. success:function (data) {
  12. //文件上传成功后的处理
  13. $('#showUploadContent').append('<div>name:'+data.name+'<br/>url:'+data.url+'<img src="http://192.168.1.107/'+data.url+'"></div>')
  14. }
  15. })
  16. }
  17. $(function () {
  18. //为提交按钮添加点击事件
  19. $('#commit').click(function () {
  20. uploadFile();
  21. })
  22. })
  1. function uploadFile() {
  2. //将表单封装为一个formData对象
  3. var formData = new FormData($('#fileUploadForm')[0]);
  4. $.ajax({
  5. url:'http://127.0.0.1:8080/image/',
  6. type:'POST',
  7. //将formData对象作为参数进行上传
  8. data:formData,
  9. contentType: false,
  10. processData: false,
  11. success:function (data) {
  12. //文件上传成功后的处理
  13. $('#showUploadContent').append('<div>name:'+data.name+'<br/>url:'+data.url+'<img src="http://192.168.1.107/'+data.url+'"></div>')
  14. }
  15. })
  16. }
  17. $(function () {
  18. //为提交按钮添加点击事件
  19. $('#commit').click(function () {
  20. uploadFile();
  21. })
  22. })
function uploadFile() {
//将表单封装为一个formData对象
var formData = new FormData($('#fileUploadForm')[0]);
$.ajax({
url:'http://127.0.0.1:8080/image/',
type:'POST',
//将formData对象作为参数进行上传
data:formData,
contentType: false,
processData: false,
success:function (data) {
//文件上传成功后的处理
$('#showUploadContent').append('<div>name:'+data.name+'<br/>url:'+data.url+'<img src="http://192.168.1.107/'+data.url+'"></div>')
}
})
}
$(function () {
//为提交按钮添加点击事件
$('#commit').click(function () {
uploadFile();
})
})

NOTE:提交按钮使用<button/> <input type="submit"/> 的情况下将会页面跳转,我使用的是<span/>元素:

<span id="commit" >提交到服务器</span>

这样进行文件上传就不会出现页面跳转,达到异步上传;

Jquery FormData文件异步上传 快速指南的更多相关文章

  1. struts1 & jquery form 文件异步上传

    1.概述 还在用struts1?是的,在地球的没写地方,落后的生产方式还在运转(老项目). 从 继承org.apache.struts.action.Action, 继承org.apache.stru ...

  2. jquery实现文件异步上传

    前言 这里用了2个JS插件,一个是Jquery原生js,我的版本是jquery-1.7.2.min.js,另一个是jquery.form.js.这个form.js 是关键,不可少哦.另外, 我的服务器 ...

  3. 【转】JQuery插件ajaxFileUpload 异步上传文件(PHP版)

    前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现a ...

  4. JQuery插件ajaxFileUpload 异步上传文件(PHP版)

    太久没写博客了,真的是太忙了.善于总结,进步才会更快啊.不多说,直接进入主题. 前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错 ...

  5. 文件的上传(表单上传和ajax文件异步上传)

    项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举的主要对于小文件上传的处理! 资源下载: 一. ...

  6. 普通文件的上传(表单上传和ajax文件异步上传)

    一.表单上传: html客户端部分: <form action="upload.ashx" method="post" enctype="mul ...

  7. MVC文件上传04-使用客户端jQuery-File-Upload插件和服务端Backload组件实现多文件异步上传

    本篇使用客户端jQuery-File-Upload插件和服务端Badkload组件实现多文件异步上传.MVC文件上传相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小  ...

  8. 文件的上传(1)(表单上传和ajax文件异步上传)

    文件的上传(表单上传和ajax文件异步上传) 项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举 ...

  9. HTML5实现图片文件异步上传

    原文:HTML5实现图片文件异步上传 利用HTML5的新特点做文件异步上传非常简单方便,本文主要展示JS部分,html结构.下面的代码并未使用第三发库,如果有参照,请注意一些未展现出来的代码片段.我这 ...

随机推荐

  1. html 遮罩层以及弹出框的制作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. JZOJ 5459 购物

    Description X 城的商场中,有着琳琅满目的各种商品.一日,小X 带着小Y 前来购物,小Y 一共看中了n件商品,每一件商品价格为Pi.小X 现在手中共有m个单位的现金,以及k 张优惠券.小X ...

  3. DMSkin https://github.com/944095635/DMSkin

    与源码无关内容 1.如果你有XAML相关的外包需求,可以通过QQ或微信与我取得联系.(QQ:"944095635" 微信号:"qq944095635") 2.我 ...

  4. Python中输入和输出(打印)数据

    一个程序要进行交互,就需要进行输入,进行输入→处理→输出的过程.所以就需要用到输入和输出功能.同样的,在Python中,怎么实现输入和输出? Python3中的输入方式: Python提供了 inpu ...

  5. Python3.7.4入门-6/7错误和异常/类

    6 错误和异常 while True: try: x = int(input("Please enter a number: ")) break except ValueError ...

  6. 关于父组件通过v-on接收子组件多个参数的一点研究

    写组件的时候遇到一个需求,我需要在子组件向父组件传递信息 this.$emit('myEvent', 信息1, 信息2) 在父组件使用v-on来接收 <my-component @myEvent ...

  7. 51nod1196 字符串的数量

    用N个不同的字符(编号1 - N),组成一个字符串,有如下要求:(1) 对于编号为i的字符,如果2 * i > n,则该字符可以作为结尾字符.如果不作为结尾字符而是中间的字符,则该字符后面可以接 ...

  8. LintCode A+B问题

    给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符. 说明 a和b都是 32位 整数么? 是的 我可以使用位运算符么? 当然可以 样例 如果 a=1 并且 b=2,返回3 1.(忽略进位 ...

  9. 人物-旅行-潘德明-Info:《近代中国徒步环游世界第一人:潘德明 》

    ylbtech-人物-旅行-潘德明-Info:<近代中国徒步环游世界第一人:潘德明 > 1.返回顶部 1. 近代中国徒步环游世界第一人:潘德明 2016-10-12 18:01 “以世界为 ...

  10. python中的输入和输出

    输入和输出   输出: 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hello, ...