博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7. Spring MVC 4.1-文件上传
阅读量:4118 次
发布时间:2019-05-25

本文共 2643 字,大约阅读时间需要 8 分钟。

  • 在控制器参数使用@RequestParam("file") MultipartFile file接受单个文件上传;
  • 在控制器参数使用@RequestParam("file") MultipartFile[] files接受多个文件上传;
  • 通过配置MultipartResolver来配置文件上传的一些属性;

7.2 示例

  • 增加和上传和文件操作的依赖到maven
commons-io
commons-io
2.3
commons-fileupload
commons-fileupload
1.3.1
  • 上传控制器
package com.wisely.web;import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;@Controllerpublic class UploadController {    //接受多个文件上传使用@RequestParam("file") MultipartFile[] files    @RequestMapping(value = "/upload",method = RequestMethod.POST)    public @ResponseBody String upload(@RequestParam("file") MultipartFile file) {            try {    FileUtils.writeByteArrayToFile(new File("e:/"+file.getOriginalFilename()),                                                               file.getBytes());                return "ok";            } catch (IOException e) {                e.printStackTrace();                return "wrong";            }    }}
  • 文件上传所需配置
@Configuration@ComponentScan("com.wisely")@EnableWebMvcpublic class DemoMVCConfig extends WebMvcConfigurerAdapter {    @Bean    public UrlBasedViewResolver viewResolver(){        UrlBasedViewResolver resolver = new UrlBasedViewResolver();        resolver.setPrefix("/WEB-INF/views/")        resolver.setSuffix(".jsp");        resolver.setViewClass(JstlView.class);        return resolver;    }    //注册拦截器    @Override    public void addInterceptors(InterceptorRegistry registry) {    registry.addInterceptor(demoInteceptor());    }    //自定义拦截器    @Bean    public DemoInteceptor demoInteceptor(){        return new DemoInteceptor();    }    //静态资源映射    @Override    public void addResourceHandlers(ResourceHandlerRegistry registry) {        registry.addResourceHandler("/js/**").addResourceLocations("/js/");    }    //文件上传设置--在此处    @Bean    public MultipartResolver multipartResolver() {        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();        multipartResolver.setMaxUploadSize(1000000);        return multipartResolver;    }}
  • 页面代码

转载地址:http://tjcpi.baihongyu.com/

你可能感兴趣的文章
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>
vue 遍历对象并动态绑定在下拉列表中
查看>>
Vue动态生成el-checkbox点击无法选中的解决方法
查看>>
python __future__
查看>>
MySQL Tricks1
查看>>
python 变量作用域问题(经典坑)
查看>>
pytorch
查看>>
pytorch(二)
查看>>
pytorch(三)
查看>>
pytorch(四)
查看>>
pytorch(5)
查看>>
pytorch(6)
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>