zoukankan      html  css  js  c++  java
  • springMVC文件上传和下载

    首先加入必须的依赖

      <dependency>
          <groupId>commons-fileupload</groupId>
          <artifactId>commons-fileupload</artifactId>
          <version>1.3.3</version>
        </dependency>

    jsp页面

    <!--有文件提交加enctype属性,没有一定不要加-->
    <form method="post" enctype="multipart/form-data" action="${pageContext.request.contextPath}/file/upload.do">
        文件:<input type="file" name="file1"><br/>
        描述:<input type="text" name="desc"><br/>
        <input type="submit" name="提交">
    </form>
    
    <a href="">下载</a>

    mvc.xml文件

        <!--上传文件-->
        <mvc:annotation-driven/>
    
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!--设置最大上传文件
            单位字节 1m=1024kb 1kb = 1024b -->
    <property name="maxUploadSize" value="10485760"></property> </bean> <context:component-scan base-package="com.controller"/>

    java代码

      @RequestMapping("upload")
        public String upload(MultipartFile file1,String desc)throws IOException {
            //transferTo方法作用:将接受的文件复制到服务器上,参数是复制后的位置
            //getOriginalFileName 方法作用:获取接收文件的源文件名
            file1.transferTo(new File("F:\fuwuqi\",file1.getOriginalFilename()));
    
            return "redirect:/success.jsp";
        }
    
        @RequestMapping("download")
        public void down(HttpServletResponse response) throws IOException{
            //读取下载的文件
            FileInputStream fi = new FileInputStream("F:\fuwuqi\2.jpg");
            //获取给浏览器响应的输出流
            //content-disposition(内容展示定位)
            //attachment(附件)
            response.setHeader("content-disposition","attachment;filename=2.jpg");
            OutputStream fos = response.getOutputStream();
            while(true){
                int b =fi.read();
                if(b==-1)break;
                fos.write(b);
            }
            fos.close();
            fi.close();
        }
  • 相关阅读:
    Nginx出现413 Request Entity Too Large错误解决方法
    office 所有后缀对应的 content-type
    swagger2 注解说明
    DOS查看端口占用及杀掉进程命令
    009:Django的项目规范
    008:第一个Django项目剖析(2)
    007:第一个Django项目剖析(1)
    006:Django介绍
    005:课程准备工作
    004:URL组成部分详解
  • 原文地址:https://www.cnblogs.com/huahualove/p/13623559.html
Copyright © 2011-2022 走看看