Jquery實(shí)現(xiàn)異步上傳文件
本文實(shí)例為大家分享了Jquery實(shí)現(xiàn)異步上傳文件的具體代碼,供大家參考,具體內(nèi)容如下
一、參數(shù)說明
1、contentType:(默認(rèn): "application/x-www-form-urlencoded") 發(fā)送信息至服務(wù)器時(shí)內(nèi)容編碼類型。默認(rèn)值適合大多數(shù)情況。如果你明確地傳遞了一個(gè)content-type給 $.ajax() 那么他必定會(huì)發(fā)送給服務(wù)器(即使沒有數(shù)據(jù)要發(fā)送)。
2、processData:(默認(rèn): true) 默認(rèn)情況下,通過data選項(xiàng)傳遞進(jìn)來的數(shù)據(jù),如果是一個(gè)對(duì)象(技術(shù)上講只要不是字符串),都會(huì)處理轉(zhuǎn)化成一個(gè)查詢字符串,以配合默認(rèn)內(nèi)容類型 "application/x-www-form-urlencoded"。如果要發(fā)送 DOM 樹信息或其它不希望轉(zhuǎn)換的信息,請(qǐng)?jiān)O(shè)置為 false。
3、FormData:XMLHttpRequest Level 2添加了一個(gè)新的接口FormData.利用FormData對(duì)象,我們可以通過JavaScript用一些鍵值對(duì)來模擬一系列表單控件,我們還可以使用XMLHttpRequest的send()方法來異步的提交這個(gè)"表單".比起普通的ajax,使用FormData的最大優(yōu)點(diǎn)就是我們可以異步上傳一個(gè)二進(jìn)制文件。
二、HTML代碼
<form action="upload.do" id="upForm" method="post" enctype="multipart/form-data"> <table id="table_report" class="table table-striped table-bordered table-hover"> ? ? <tr> ? ? ? ? <td>批量文件:</td> ? ? ? ? <td><input type="file" name="myfile"></td> ?? ?</tr> ?? ?<tr> ? ? ? ? <td><button type="button" id="saveBtn" class="btn btn-primary">提交</button></td> ?? ?</tr> </table> </form>
三、Jquery上傳文件代碼
var uploading = false;
if(uploading){
? ? bootbox.alert("文件正在上傳中,請(qǐng)稍候!");
?? ?return false;
}
$.ajax({
? ? url:"upload.do",
?? ?type: "POST",//方法類型
?? ?cache : false,//
?? ?processData: false,
?? ?contentType: false,
?? ?dataType:"json",
?? ?//data:$('#upForm').serialize(),
?? ?data: new FormData($('#upForm')[0]),
?? ?beforeSend: function(){
?? ??? ?uploading = true;
?? ??? ?console.log(uploading);
?? ?},
?? ?success: function(data){
?? ??? ?var json=eval('(' + data + ')');
?? ??? ?if(json.result=="success"){
?? ??? ??? ?bootbox.alert("操作成功!");
?? ??? ?}else{
?? ??? ??? ?bootbox.alert(json.msg);
?? ??? ?}
?? ??? ?uploading = false;
?? ?},error:function(){
?? ??? ?bootbox.alert("請(qǐng)求失敗!");
?? ?}
});四、Java后臺(tái)代碼
@RequestMapping(value="/upload",method = RequestMethod.POST)
@ResponseBody
public String upfile(@RequestParam("myfile")MultipartFile myfile,
? ? MultipartHttpServletRequest request) {
? ? logger.info("===上傳文件===");
?? ?Map<String, String> map = new HashMap<String, String>();
?? ?if (request.getContentLength() > 0) {
?? ? ? ?String fileName = myfile.getOriginalFilename();
?? ??? ?InputStream inputStream = null;
?? ??? ?inputStream = myfile.getInputStream();
? ? ? ? //TODO拿這inputstream,可以隨心所欲了
? ? }?
} 以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery Ajax 上傳文件處理方式介紹(推薦)
- JQuery.uploadify 上傳文件插件的使用詳解 for ASP.NET
- 一個(gè)簡單的jQuery插件ajaxfileupload.js實(shí)現(xiàn)ajax上傳文件例子
- jquery實(shí)現(xiàn)兼容IE8的異步上傳文件
- jQuery實(shí)現(xiàn)jQuery-form.js實(shí)現(xiàn)異步上傳文件
- jQuery插件ajaxFileUpload異步上傳文件
- 基于jQuery Ajax實(shí)現(xiàn)上傳文件
- jquery上傳插件fineuploader上傳文件使用方法(jquery圖片上傳插件)
- jQuery Ajax使用FormData對(duì)象上傳文件的方法
- jQuery簡單驗(yàn)證上傳文件大小及類型的方法
相關(guān)文章
jQuery中hover方法搭配css的hover選擇器,實(shí)現(xiàn)選中元素突出顯示方法
下面小編就為大家?guī)硪黄猨Query中hover方法搭配css的hover選擇器,實(shí)現(xiàn)選中元素突出顯示方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
動(dòng)態(tài)調(diào)用css文件——jquery的應(yīng)用
這篇文章主要介紹了動(dòng)態(tài)調(diào)用css文件——jquery的應(yīng)用2007-02-02
jQuery制作簡潔的多級(jí)聯(lián)動(dòng)Select下拉框
省市多級(jí)聯(lián)動(dòng)的select下拉框有很多種實(shí)現(xiàn)方式,度娘上隨便一搜就一大堆,今天我們來討論的這款特效,代碼卻很簡潔,兼容性也非常棒,推薦給大家。2014-12-12
全面解析DOM操作和jQuery實(shí)現(xiàn)選項(xiàng)移動(dòng)操作代碼分享
這篇文章主要介紹了DOM操作和jQuery實(shí)現(xiàn)選項(xiàng)移動(dòng)操作代碼分享的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
jQuery實(shí)現(xiàn)的模仿雨滴下落動(dòng)畫效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)的模仿雨滴下落動(dòng)畫效果,涉及jQuery結(jié)合時(shí)間函數(shù)動(dòng)態(tài)修改頁面元素屬性相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
jquery $(document).ready() 與window.onload的區(qū)別
Jquery中$(document).ready()的作用類似于傳統(tǒng)JavaScript中的window.onload方法,不過與window.onload方法還是有區(qū)別的。2009-12-12
jQuery中用on綁定事件時(shí)需注意的事項(xiàng)
本篇文章主要介紹了jQuery中用on綁定事件時(shí)需注意的事項(xiàng),具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03

