springMVC使用transferTo方法方便快速上传文件

 在web开发中,常常会遇到上传文件的需求,比如上传视频和图片,之前做上传功能的时候,就是使用IO流来操作,这种需要熟悉IO各种输入输出流,当然还是希望能对IO进行深度学习,如今可以尝试使用transferTo()来进行文件的上传操作,transferTo()源码底层还是io流来操作

 

springMVC使用transferTo方法方便快速上传文件_第1张图片

 springMVC使用transferTo方法方便快速上传文件_第2张图片

springMVC使用transferTo方法方便快速上传文件_第3张图片

前端页面写法(form表单提交):

js提交为jq的ajax提交form表单

获取表单,必须加[0]才能取到数据
   var formData =new FormData($("#formfile")[0]);
             $.ajax({
                 url: url,
                 type: "POST",
                 data: formData,
                 cache:false,
                 contentType: false,
                 processData: false,
                 success: function (dat) {
                     
                 },
                 error: function (dat) {
                     
                 }
             });

mvc xml文件配置


    
    
    

后台代码提交


public void fileUpload(@RequestParam("myfile") MultipartFile[] myfile) {
		try {
			int len = myfile.length;
			for (int i = 0; i < len; i++) {
				MultipartFile file = myfile[i];
				if (file.isEmpty()) {
					// TODO文件为空时处理
					return;
				} else {
					file.transferTo(new File("服务器文件上传目录" + file.getName()));
            //入库业务
            Slideshow slideshow=new Slideshow();
           slideshow.setSlideshowImg(file.getOriginalFilename());//文件名
           slideshow.setSlideshowState(0);
           slideshow.setSlideshowTime(new DataTime().getDatatime());
           slideshowService.insert(slideshow);
    
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return;
	}

参考文章地址:https://blog.csdn.net/cainiaobulan/article/details/78870934

你可能感兴趣的:(java,框架)