spring 文件上传
Posted aLa神灯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 文件上传相关的知识,希望对你有一定的参考价值。
package springmvc; public class TestOne { /** * * Springmvc配置的替代方案 * 处理文件上传 * 控制器中处理异常 * 使用flash * * 1.springmvc的加载 * 代码方式创建Servlet filter listener, * 实现webapplicationinitializer接口,创建实例并映射到路径上 * * web.xml中加载servlet * * DispatherServlet 和contextLoaderListener * * * contextConfigLocation * 加载bean到到容器,spring和springmvc分别可以加载一个文件 * * * * 2.处理multipart形式的数据 * 文件上传,处理图片等二进制数据, * 可以使用multipart格式的数据,会将数据拆分多个部分 * * 配置multipart解析器 * * 两种方式: * 1)代码方式注册servlet setMultipartConfig() * 2)在web.xml中配置 * * 必须指定一个路径,上传的文件将会写入该目录中。 * * 两种servlet * CommonsMultipartResolver * StandardServletMultiResolver 此种方式能设置文件大小,上限 * * 3.处理multipart请求 * * 控制器上添加注解 @RequestPart * 表单上 enctype 设置为 multipart/form-data,每个输入域对应一个part * * 表单input 新增了一个file类型,只接受jgpe、png、gif图片, * 控制器端profilepicture接收,数组接收 * * public void method(){ * @RequestPart("profilePicture") byte[] profilePicture * } * * 4.MultipartFile 接口处理文件 * * AWS凭证 保存图片 * * 5.javax.servlet.http.Part接口 * * public void method(){ * @RequestPart("profilePicture") Part part * } * * * 6.异常处理 * @ResponseStatus * * * @ExceptionHandler * 7.控制器通知类 * * 建立一个控制器带@ControllerAdvice,会扫描所有的控制器类 * * 可以在这个列中定义方法处理所有的异常 * * @ControllerAdvice //定义控制器类 * public Class ControllerAd{ * * @ExceptionHandler(DuplicateException.class) * public String duplicSpitterExcetion{ //定义异常处理方法 * return "error/duplication"; * } * * * 现在无论哪个控制抛出DuplicateException异常,都会执行这个方法duplicSpitterExcetion * * } * * */ }
以上是关于spring 文件上传的主要内容,如果未能解决你的问题,请参考以下文章