zoukankan      html  css  js  c++  java
  • SpringMVC上传文件

    springmvc-servlet.xml中添加配置

        <!-- 文件上传表单的视图解析器 -->
        <bean id="multipartResolver"
              class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- one of the properties available; the maximum file size in bytes -->
            <property name="maxUploadSize" value="204800"/>
        </bean>

    前端页面代码如下

    <form action="/submitFile.do" method="post" enctype="multipart/form-data">
        <label style="background-color: aqua">文件上传
            <input name="file" type="file" onchange="filechange(this)" hidden/><input type="text"/></label>
        <br/>
        <input type="submit" value="上传"/>
    </form>
    <hr/>
    <form action="/submitFile1.do" method="post" enctype="multipart/form-data">
        <label style="background-color: aqua">文件上传1
            <input name="files" type="file" onchange="filechange(this)" multiple hidden/><input type="text"/></label>
        <br/>
        <input type="submit" value="上传"/>
    </form>
    <hr/>
    <form action="/submitFile2.do" method="post" enctype="multipart/form-data">
        <label style="background-color: aqua">文件上传2
            <input name="file" type="file" onchange="filechange(this)" hidden/><input type="text"/></label>
        <br/>
        <input type="submit" value="上传"/>
    </form>
    <script type="text/javascript">
        function filechange(obj) {
            $(obj).next(":input").val($(obj).val());
        }
    </script>
    三种上传,type file需要有name,且和Controller中一致

    后台代码如下,如果是上传多文件,必须带有@RequestParam

    @RequestMapping("/submitFile")
        public void submitFile(HttpServletRequest request,@RequestParam MultipartFile file){
            try {
                BufferedInputStream bufferedInputStream=new BufferedInputStream(file.getInputStream());
                String filePath="F:\IDEAWeb\MavenSpringMVC\target\test.txt";
                BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(filePath));
                byte[] buffer=new byte[1024];
                int l=0;
                while ((l=bufferedInputStream.read(buffer))!=-1){
                    bufferedOutputStream.write(buffer,0,l);
                    bufferedOutputStream.flush();
                }
                bufferedOutputStream.close();
                bufferedInputStream.close();
            }catch (Exception ex){
                ex.printStackTrace();
            }
        }
    
        @RequestMapping("/submitFile1")
        public void submitFile1(HttpServletRequest request,@RequestParam MultipartFile[] files){
            try {
                BufferedInputStream bufferedInputStream=new BufferedInputStream(files[0].getInputStream());
                String filePath="F:\IDEAWeb\MavenSpringMVC\target\test.txt";
                BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(filePath));
                byte[] buffer=new byte[1024];
                int l=0;
                while ((l=bufferedInputStream.read(buffer))!=-1){
                    bufferedOutputStream.write(buffer,0,l);
                    bufferedOutputStream.flush();
                }
                bufferedOutputStream.close();
                bufferedInputStream.close();
            }catch (Exception ex){
                ex.printStackTrace();
            }
        }
    
        @RequestMapping("/submitFile2")
        public void submitFile2(HttpServletRequest request){
            try {
                MultipartHttpServletRequest multiRequest=(MultipartHttpServletRequest)request;
                MultipartFile multipartFile=multiRequest.getFile("file");
                BufferedInputStream bufferedInputStream=new BufferedInputStream(multipartFile.getInputStream());
                String filePath="F:\IDEAWeb\MavenSpringMVC\target\test.txt";
                BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(filePath));
                byte[] buffer=new byte[1024];
                int l=0;
                while ((l=bufferedInputStream.read(buffer))!=-1){
                    bufferedOutputStream.write(buffer,0,l);
                    bufferedOutputStream.flush();
                }
                bufferedOutputStream.close();
                bufferedInputStream.close();
            }catch (Exception ex){
                ex.printStackTrace();
            }
        }
    三种方法
  • 相关阅读:
    你可见过一种基于状压的二进制筛法?
    dp
    tricks
    csp2020 游记
    洛谷P2982 [USACO10FEB]慢下来Slowing down
    NOIP 2018 大翻车记
    2019 ICPC 南京网络赛
    POJ2778 AC自动机 + 快速矩阵幂
    2019 CCPC网络赛
    2018ICPC 北京
  • 原文地址:https://www.cnblogs.com/hujiapeng/p/8352055.html
Copyright © 2011-2022 走看看