最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题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关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

FormData与SpringMVC实现Ajax文件下载功能

来源:懂视网 责编:小采 时间:2020-11-27 19:57:24
文档

FormData与SpringMVC实现Ajax文件下载功能

FormData与SpringMVC实现Ajax文件下载功能:这次给大家带来FormData与Spring MVC实现Ajax文件下载功能,FormData与Spring MVC实现Ajax文件下载功能的注意事项有哪些,下面就是实战案例,一起来看一下。Ajax文件下载利用 FormData 对象和 Spring MVC 配合可以实现Ajax文件上载功能:步骤1
推荐度:
导读FormData与SpringMVC实现Ajax文件下载功能:这次给大家带来FormData与Spring MVC实现Ajax文件下载功能,FormData与Spring MVC实现Ajax文件下载功能的注意事项有哪些,下面就是实战案例,一起来看一下。Ajax文件下载利用 FormData 对象和 Spring MVC 配合可以实现Ajax文件上载功能:步骤1

这次给大家带来FormData与Spring MVC实现Ajax文件下载功能,FormData与Spring MVC实现Ajax文件下载功能的注意事项有哪些,下面就是实战案例,一起来看一下。

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="上载" >
 <p id="result"></p>

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")
@ResponseBody
public 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);
 }

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

用CORS实现WebApi Ajax跨域请求的方法

Ajax怎么实现动态加载组合框(附代码)

文档

FormData与SpringMVC实现Ajax文件下载功能

FormData与SpringMVC实现Ajax文件下载功能:这次给大家带来FormData与Spring MVC实现Ajax文件下载功能,FormData与Spring MVC实现Ajax文件下载功能的注意事项有哪些,下面就是实战案例,一起来看一下。Ajax文件下载利用 FormData 对象和 Spring MVC 配合可以实现Ajax文件上载功能:步骤1
推荐度:
标签: 文件 File ajax
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top