Jquery FormData文件异步上传 快速指南
网站中文件的异步上传是个比较麻烦的问题,不过现在通过jquery 可以很容易的解决这个问题;
使用jquery2.1版本,较老版本不支持异步文件上传功能;
表单代码:
- <form id="fileUploadForm">
- <input type="file" name="file" class="imageUpload"/>
- <span id="commit">提交到服务器</span>
- </form>
- <form id="fileUploadForm">
- <input type="file" name="file" class="imageUpload"/>
- <span id="commit">提交到服务器</span>
- </form>
<form id="fileUploadForm">
<input type="file" name="file" class="imageUpload"/>
<span id="commit">提交到服务器</span>
</form>
创建一个表单,里面包含一个file input
脚本代码:
- 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();
- })
- })
- 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();
- })
- })
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文件异步上传 快速指南的更多相关文章
- struts1 & jquery form 文件异步上传
1.概述 还在用struts1?是的,在地球的没写地方,落后的生产方式还在运转(老项目). 从 继承org.apache.struts.action.Action, 继承org.apache.stru ...
- jquery实现文件异步上传
前言 这里用了2个JS插件,一个是Jquery原生js,我的版本是jquery-1.7.2.min.js,另一个是jquery.form.js.这个form.js 是关键,不可少哦.另外, 我的服务器 ...
- 【转】JQuery插件ajaxFileUpload 异步上传文件(PHP版)
前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现a ...
- JQuery插件ajaxFileUpload 异步上传文件(PHP版)
太久没写博客了,真的是太忙了.善于总结,进步才会更快啊.不多说,直接进入主题. 前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错 ...
- 文件的上传(表单上传和ajax文件异步上传)
项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举的主要对于小文件上传的处理! 资源下载: 一. ...
- 普通文件的上传(表单上传和ajax文件异步上传)
一.表单上传: html客户端部分: <form action="upload.ashx" method="post" enctype="mul ...
- MVC文件上传04-使用客户端jQuery-File-Upload插件和服务端Backload组件实现多文件异步上传
本篇使用客户端jQuery-File-Upload插件和服务端Badkload组件实现多文件异步上传.MVC文件上传相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小 ...
- 文件的上传(1)(表单上传和ajax文件异步上传)
文件的上传(表单上传和ajax文件异步上传) 项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举 ...
- HTML5实现图片文件异步上传
原文:HTML5实现图片文件异步上传 利用HTML5的新特点做文件异步上传非常简单方便,本文主要展示JS部分,html结构.下面的代码并未使用第三发库,如果有参照,请注意一些未展现出来的代码片段.我这 ...
随机推荐
- day18 11.复习
其实以前写的每条SQL语句都是有事务的,因为它默认的事务是autocommit=on(自动事务).mysql的autocommit是on,oracle的autocommit是off.
- Uva1252 Twenty Questions
Twenty Questions https://odzkskevi.qnssl.com/15b7eb4cd1f75f63cee3945b0b845e4f?v=1508411736 [题解] dp[S ...
- listView中的button控件获取索引
1.在listitem中初始化button的时候,给该button添加一个setTag方法,将此时的索引值传进去,然后在button的onclick事件中调用view的getTag方法,即可将list ...
- 合唱队形 ( 双向LIS )
#include <iostream> #include <stdio.h> #include <algorithm> using namespace std; ] ...
- Python多线程在爬虫中的应用
题记:作为测试工程师经常需要解决测试数据来源的问题,解决思路无非是三种:(1)直接从生产环境拷贝真实数据 (2)从互联网上爬取数据 (3)自己用脚本或者工具造数据.前段时间,为了获取更多的测试数据,笔 ...
- Leetcode914.X of a Kind in a Deck of Cards卡牌分组
给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可选的 X > ...
- 基于docker的php调用基于docker的mysql数据库的方法
1:建立基于docker的mysql,参考 Mac上将brew安装的MySql改用Docker执行 2:建立基于docker�php image 在当前目录,建立Dockerfile,内容如下 FRO ...
- JetBrains 系列软件--操作数据库+centos系统
这系列软件贼强大! 能操作数据库 也能操作centos(linux)系统 由于这系列都有这两个功能,下面以最近常用的JetBrains PhpStorm 2017.2.1 x64来举例子: 一.操作数 ...
- 第一次作业:reading and prepare
这个作业属于哪个课程 课程的链接 这个作业要求在哪里 作业要求的链接 我在这个课程的目标是 理解软件开发流程,更好的开发自己的软件 这个作业在哪个具体方面帮助我实现目标 对"工程" ...
- Ajax之基础
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/liu_yujie2011com/article/details/29812777 几 ...