Jquery實現(xiàn)異步上傳文件
本文實例為大家分享了Jquery實現(xiàn)異步上傳文件的具體代碼,供大家參考,具體內(nèi)容如下
一、參數(shù)說明
1、contentType:(默認(rèn): "application/x-www-form-urlencoded") 發(fā)送信息至服務(wù)器時內(nèi)容編碼類型。默認(rèn)值適合大多數(shù)情況。如果你明確地傳遞了一個content-type給 $.ajax() 那么他必定會發(fā)送給服務(wù)器(即使沒有數(shù)據(jù)要發(fā)送)。
2、processData:(默認(rèn): true) 默認(rèn)情況下,通過data選項傳遞進來的數(shù)據(jù),如果是一個對象(技術(shù)上講只要不是字符串),都會處理轉(zhuǎn)化成一個查詢字符串,以配合默認(rèn)內(nèi)容類型 "application/x-www-form-urlencoded"。如果要發(fā)送 DOM 樹信息或其它不希望轉(zhuǎn)換的信息,請設(shè)置為 false。
3、FormData:XMLHttpRequest Level 2添加了一個新的接口FormData.利用FormData對象,我們可以通過JavaScript用一些鍵值對來模擬一系列表單控件,我們還可以使用XMLHttpRequest的send()方法來異步的提交這個"表單".比起普通的ajax,使用FormData的最大優(yōu)點就是我們可以異步上傳一個二進制文件。
二、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("文件正在上傳中,請稍候!"); ?? ?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("請求失敗!"); ?? ?} });
四、Java后臺代碼
@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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery Ajax 上傳文件處理方式介紹(推薦)
- JQuery.uploadify 上傳文件插件的使用詳解 for ASP.NET
- 一個簡單的jQuery插件ajaxfileupload.js實現(xiàn)ajax上傳文件例子
- jquery實現(xiàn)兼容IE8的異步上傳文件
- jQuery實現(xiàn)jQuery-form.js實現(xiàn)異步上傳文件
- jQuery插件ajaxFileUpload異步上傳文件
- 基于jQuery Ajax實現(xiàn)上傳文件
- jquery上傳插件fineuploader上傳文件使用方法(jquery圖片上傳插件)
- jQuery Ajax使用FormData對象上傳文件的方法
- jQuery簡單驗證上傳文件大小及類型的方法
相關(guān)文章
jQuery中hover方法搭配css的hover選擇器,實現(xiàn)選中元素突出顯示方法
下面小編就為大家?guī)硪黄猨Query中hover方法搭配css的hover選擇器,實現(xiàn)選中元素突出顯示方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05動態(tài)調(diào)用css文件——jquery的應(yīng)用
這篇文章主要介紹了動態(tài)調(diào)用css文件——jquery的應(yīng)用2007-02-02jQuery制作簡潔的多級聯(lián)動Select下拉框
省市多級聯(lián)動的select下拉框有很多種實現(xiàn)方式,度娘上隨便一搜就一大堆,今天我們來討論的這款特效,代碼卻很簡潔,兼容性也非常棒,推薦給大家。2014-12-12全面解析DOM操作和jQuery實現(xiàn)選項移動操作代碼分享
這篇文章主要介紹了DOM操作和jQuery實現(xiàn)選項移動操作代碼分享的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-06-06jquery $(document).ready() 與window.onload的區(qū)別
Jquery中$(document).ready()的作用類似于傳統(tǒng)JavaScript中的window.onload方法,不過與window.onload方法還是有區(qū)別的。2009-12-12