网站中文件的异步上传是个比较麻烦的问题,不过现在通过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. arcgis投影测试

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. Minimal coverage (贪心,最小覆盖)

    题目大意:先确定一个M, 然后输入多组线段的左端和右端的端点坐标,然后让你求出来在所给的线段中能够 把[0, M] 区域完全覆盖完的最少需要的线段数,并输出这些线段的左右端点坐标. 思路分析: 线段区 ...

  3. phpcms 按价格、按销量、按时间等排序实现思路

    大体思路是在链接中加入指定排序的参数,例如我们使用get中的order作为排序参数: order=views 人气:order=sells 效率:order=pirce 按价格: 那么这三个排序按钮的 ...

  4. SPSS能做Cochran-Armitage趋势检验吗

    SPSS能做Cochran-Armitage趋势检验吗 Cochran-Armitage (CA) 趋势检验是一种用于分析1个二分类变量和1个有序分类变量关联性的统计方法,由Cochran和Armti ...

  5. 【JZOJ4782】【NOIP2016提高A组模拟9.15】Math

    题目描述 输入 输出 样例输入 3 5 样例输出 -1 数据范围 解法 观察式子,可以得知整个式子与d(i*j)的奇偶性有关. d(n)为奇数当且仅当n是完全平方数. 对于一个i,如果d(i*j) ( ...

  6. 公司mysql问题二

    这个问题解决:

  7. iOS 9 学习系列:Split Screen Multitasking

    http://www.cocoachina.com/ios/20151010/13601.html iOS 9 的一个重大变化就是增加了多任务,这个多任务允许用户在屏幕上同时运行多个 app.有两种形 ...

  8. oralce系统触发器

    系统事件是指基于oracle事件(例如logon.logoff和startup.shutdown)所建立的触发器,通过使用系统事件触发器,提供了跟踪系统或是数据库变化机制.下面介绍使用的系统事件属性函 ...

  9. 获取登录的地点和ip地址的js

    <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script>doc ...

  10. java连接oracle jdbc连接

    Class.forName("oracle.jdbc.driver.OracleDriver"); Connection ct=Driver.Magager.getConnecti ...