国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

利用 FormData 對象和 Spring MVC 配合實現Ajax文件下載功能

2024-09-01 08:30:51
字體:
來源:轉載
供稿:網友

Ajax文件下載

利用 FormData 對象和 Spring MVC 配合可以實現Ajax文件上載功能:

步驟

1.導入組件并準備靜態腳本

<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.創建內存中的表單對象,并添加向服務器傳輸的數據

//創建內存中的表單對象var form = new FormData();//向其中添加要傳輸的數據form.append("userfile1", file1);form.append("userfile2", file2);

4.ajax()上傳對象

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

5.Spring-MVC表現層

@RequestMapping("/upload.do")@ResponseBodypublic JsonResult upload(     MultipartFile userfile1,     MultipartFile userfile2) throws Exception{  //Spring MVC 中可以利用 MultipartFile   //接收 上載的文件! 文件中的一切數據  //都可以從 MultipartFile 對象中找到  //獲取上再是原始文件名  String file1 =     userfile1.getOriginalFilename();  String file2 =     userfile2.getOriginalFilename();  System.out.println(file1);  System.out.println(file2);  //保存文件的3種方法:  //1. transferTo(目標文件)  //  將文件直接保存到目標文件, 可以處理大文件  //2. userfile1.getBytes() 獲取文件的全部數據  //  將文件全部讀取到內存, 適合處理小文件!!  //3. userfile1.getInputStream()  //  獲取上載文件的流, 適合處理大文件  //保存的目標文件夾: /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);  //第三種 利用流復制數據  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);  }

總結

以上所述是小編給大家介紹的利用 FormData 對象和 Spring MVC 配合實現Ajax文件下載功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丽江市| 岫岩| 兴仁县| 陇川县| 中西区| 泾川县| 蓝山县| 石楼县| 东方市| 咸阳市| 昌吉市| 靖边县| 镇雄县| 大悟县| 大邑县| 西丰县| 屯门区| 大庆市| 库尔勒市| 峨边| 长岛县| 延寿县| 仁寿县| 神池县| 武穴市| 化州市| 湟源县| 泽普县| 馆陶县| 阿勒泰市| 育儿| 新源县| 革吉县| 合阳县| 安庆市| 南皮县| 黑龙江省| 通海县| 通州区| 金门县| 高碑店市|