MVC文件上传 及其他

简介: 文件上传 1.添加jar包,maven中 dependency>commons-fileuploadcommons-fileupload1.3.3 2.在springxml文件中,设置上传文件的配置信息 bean id="multipartResolver" p:defaul.

文件上传

  1.添加jar包,maven中

dependency>
commons-fileupload
commons-fileupload
1.3.3

  
  2.在springxml文件中,设置上传文件的配置信息

bean id="multipartResolver"

    p:defaultEncoding="UTF-8"
  p:maxUploadSize="10485760"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver"


切记 id一定要写成上面的名字

    public void upd(MultipartFile file1, String username, HttpServletRequest request) throws IOException {
        byte b[] = file1.getBytes();
        // 获得文件的运行路径,及文件的下载名称
        File file = new File(request.getServletContext().getRealPath("WEB-INF/upload"), file1.getOriginalFilename());
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        fileOutputStream.write(b);
        fileOutputStream.close();
    }

下载代码

    public void xia(MultipartFile file1, HttpServletResponse response) throws IOException {
        //说明文件路径及文件类型 及上传的编码格式
        File file = new File("F:\\一些软件\\压缩包\\Keymaker-CORE(思维导图).rar");
        response.setContentType("application/x-rar-compressed");
        response.setCharacterEncoding("UTF-8");

        //得到父路径名称,进行替换的到子类的文件名,并说明子类的文件名格式
        String name = file.getCanonicalPath();
        name = name.replace(file.getParent() + "\\", "");
        String filename = new String(name.getBytes(), "ISO-8859-1");

        //将文件名称带入到头信息中,并说明是下载
        response.setHeader("Content-Disposition", "attachment;filename=" + filename);
        
        //从response中拿到outputStrem流
        //用FileInputStream从文件上读上来 用outputStrem通过tcp进行传输
        FileInputStream fileInputStream = new FileInputStream(file);
        byte by[] = new byte[8 * 1024];
        int leng;
        OutputStream outputStream = response.getOutputStream();
        while ((leng = fileInputStream.read(by)) != -1) {
            outputStream.write(by, 0, leng);
            outputStream.flush();
        }
        fileInputStream.close();
    }

defaultServlet

  因为mvc中静态资源进行了拦截所以要在配置文件中配置

!--优先级低 所有的类都没找见他再去找-->
mvc:default-servlet-handler>

mvc:resources 资源配置
因为我们有时候需要将静态资源放在WEB-INF下,当我们配置,外界就可以访问我们指定的 WEB-INF指定的夹子(好处打包可以将静态资源打包进去)
mvc:resources mapping="/css/**" location="/WEB-INF/css/" />
//mapping 网络访问路径

//location 本地文件夹路径

拦截器就是对你的访问进行拦截(可以进行合法型判断,登录做记录,日志等操作),也可以在返回参数的时候补参数
拦截器开发

    1.写一个普通类型实现接口  HandlerInterceptor
    2.里面有三个方法重写
           preHandle(action业务方法请求之前进行访问) 参数设置 true 继续向下走 false 终止
           下面两个给力请求头和响应头 可以进行补参 等等操作
           postHandle(action中的业务方法执行完毕后进行试图渲染前的调用)
           afterCompletion(视图渲染后的调用)
    3.配置文件信息
      mvc:interceptors>

mvc:interceptor>

    <mvc:mapping path="/admin/**"/>//网络访问路径
    <mvc:exclude-mapping path="/admin/test2"/> 受到管理的对象
    <bean class="com.kaige123.view.TestHandlerInterceptor"/>
</mvc:interceptor>

目录
相关文章
|
4月前
|
JSON 前端开发 Java
Spring mvc-文件上传与JSON-学习笔记
Spring mvc-文件上传与JSON-学习笔记
37 2
|
4月前
|
前端开发 JavaScript Java
Spring Boot中Spring MVC的基本配置讲解与实战(包括静态资源配置,拦截器配置,文件上传配置及实战 附源码)
Spring Boot中Spring MVC的基本配置讲解与实战(包括静态资源配置,拦截器配置,文件上传配置及实战 附源码)
49 1
|
4月前
|
前端开发 Java 数据库
Spring-MVC的文件上传,下载的技术攻克
Spring-MVC的文件上传,下载的技术攻克
|
6月前
|
存储 前端开发 Java
学会Spring MVC文件上传、下载和JRebel的使用
学会Spring MVC文件上传、下载和JRebel的使用
30 0
学会Spring MVC文件上传、下载和JRebel的使用
|
6月前
|
前端开发 Java 应用服务中间件
Spring-MVC的文件上传下载,及插件的使用(让项目开发更节省时间)
Spring-MVC的文件上传下载,及插件的使用(让项目开发更节省时间)
31 0
|
8月前
|
前端开发 Java Maven
案例14 Spring MVC文件上传案例
基于Spring MVC实现文件上传: 使用commons-fileupload实现上传文件到本地目录。 实现上传文件到阿里云OSS和从阿里云OSS下载文件到本地。
106 0
|
8月前
|
前端开发 Java 对象存储
3.6 Spring MVC文件上传
阿里云计算平台提供了包括弹性计算、存储、网络、安全、大数据等一系列的云计算基础设施和应用服务。阿里云以其高可用性、可靠性和灵活性,成为许多企业和开发者选择的云平台之一。配置commons-fileupload插件的文件上传解析器CommonsMultipartResolver,id是multipartResolver。阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务。实现上传文件到阿里云OSS和从阿里云OSS下载文件到本地。
61 0
|
9月前
|
存储 开发框架 前端开发
ASP.NET Core MVC 从入门到精通之文件上传
ASP.NET Core MVC 从入门到精通之文件上传
126 0
|
10月前
|
前端开发 Java Spring
Spring MVC》 第九章 文件上传、下载
Spring MVC》 第九章 文件上传、下载
70 0
|
10月前
|
存储 前端开发 Java
【Spring MVC学习笔记 八】SpringMVC实现文件上传和下载
【Spring MVC学习笔记 八】SpringMVC实现文件上传和下载
75 0