最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:51:38
文檔

利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能

利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能:Ajax文件下載 利用 FormData 對(duì)象和 Spring MVC 配合可以實(shí)現(xiàn)Ajax文件上載功能: 步驟 1.導(dǎo)入組件并準(zhǔn)備靜態(tài)腳本 <dependency> <groupId>commons-fileupload</groupId> <artifactId>comm
推薦度:
導(dǎo)讀利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能:Ajax文件下載 利用 FormData 對(duì)象和 Spring MVC 配合可以實(shí)現(xiàn)Ajax文件上載功能: 步驟 1.導(dǎo)入組件并準(zhǔn)備靜態(tài)腳本 <dependency> <groupId>commons-fileupload</groupId> <artifactId>comm

Ajax文件下載

利用 FormData 對(duì)象和 Spring MVC 配合可以實(shí)現(xiàn)Ajax文件上載功能:

步驟

1.導(dǎo)入組件并準(zhǔn)備靜態(tài)腳本

<dependency>
 <groupId>commons-fileupload</groupId>
 <artifactId>commons-fileupload</artifactId>
 <version>1.3.2</version>
</dependency>
 <h1>Ajax 文件上載</h1>
 <input type="file" id="file1"> <br>
 <input type="file" id="file2"> <br>
 <input type="button" id="upload" value="上載" >
 <div id="result"></div>

1.綁定事件到按鈕

$("upload").click(ajaxUpload);

2.獲取文件

var file1 = $("#file1")[0].files[0];
var file2 = $("#file2")[0].files[0];

3.創(chuàng)建內(nèi)存中的表單對(duì)象,并添加向服務(wù)器傳輸?shù)臄?shù)據(jù)

//創(chuàng)建內(nèi)存中的表單對(duì)象
var form = new FormData();
//向其中添加要傳輸?shù)臄?shù)據(jù)
form.append("userfile1", file1);
form.append("userfile2", file2);

4.ajax()上傳對(duì)象

$.ajax({
 url:'user/upload.do',//請(qǐng)求地址
 data: form, //請(qǐng)求參數(shù)
 type: 'POST', //請(qǐng)求類型
 dataType: 'json',//服務(wù)器返回的數(shù)據(jù)類型
 contentType: false,//沒有設(shè)置任何內(nèi)容類型頭信息
 processData: false, //見jQuery_api詳解
 success: function(obj){ //成功時(shí)回調(diào)函數(shù),obj表示服務(wù)器返回的數(shù)據(jù)
 if(obj.state==0){
 $('#result').html("成功!"); 
 }
 }
});

5.Spring-MVC表現(xiàn)層

@RequestMapping("/upload.do")
@ResponseBody
public JsonResult upload( 
 MultipartFile userfile1, 
 MultipartFile userfile2) throws Exception{
 //Spring MVC 中可以利用 MultipartFile 
 //接收 上載的文件! 文件中的一切數(shù)據(jù)
 //都可以從 MultipartFile 對(duì)象中找到
 //獲取上再是原始文件名
 String file1 = 
 userfile1.getOriginalFilename();
 String file2 = 
 userfile2.getOriginalFilename();
 System.out.println(file1);
 System.out.println(file2);
 //保存文件的3種方法:
 //1. transferTo(目標(biāo)文件)
 // 將文件直接保存到目標(biāo)文件, 可以處理大文件
 //2. userfile1.getBytes() 獲取文件的全部數(shù)據(jù)
 // 將文件全部讀取到內(nèi)存, 適合處理小文件!!
 //3. userfile1.getInputStream()
 // 獲取上載文件的流, 適合處理大文件
 //保存的目標(biāo)文件夾: /home/soft01/demo
 File dir = new File("D:/demo");
 dir.mkdir();
 File f1 = new File(dir, file1);
 File f2 = new File(dir, file2);
 //第一種保存文件
 //userfile1.transferTo(f1);
 //userfile2.transferTo(f2);
 //第三種 利用流復(fù)制數(shù)據(jù)
 InputStream in1 = userfile1.getInputStream();
 FileOutputStream out1 = 
 new FileOutputStream(f1);
 int b;
 while((b=in1.read())!=-1){
 out1.write(b);
 }
 in1.close();
 out1.close();
 InputStream in2 = userfile2.getInputStream();
 FileOutputStream out2=
 new FileOutputStream(f2);
 byte[] buf= new byte[8*1024];
 int n;
 while((n=in2.read(buf))!=-1){
 out2.write(buf, 0, n);
 }
 in2.close();
 out2.close();
 return new JsonResult(true);
 }

總結(jié)

以上所述是小編給大家介紹的利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能

利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能:Ajax文件下載 利用 FormData 對(duì)象和 Spring MVC 配合可以實(shí)現(xiàn)Ajax文件上載功能: 步驟 1.導(dǎo)入組件并準(zhǔn)備靜態(tài)腳本 <dependency> <groupId>commons-fileupload</groupId> <artifactId>comm
推薦度:
標(biāo)簽: 利用 File Files
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top