• springmvc实现文件上传


    1 通过commons-fileupload来实现 导入相关jar包

    commons-fileupload,commons-io

    2 配置springmvc的配置解析器

    mvc:

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
                <property name="defaultEncoding" value="utf-8"></property>
                <property name="maxUploadSize" value="10485760000"></property>
                <property name="maxInMemorySize" value="40960"></property>
         </bean>

    3 jsp页面

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
        <form action="upload.do" method="post" enctype="multipart/form-data">
          file:<input type="file" name="file"/> <input type="submit" value="上传"/>
          </form>
      </body>
    </html>

    4 controller代码

    @Controller
    public class FileUploadController {
        @RequestMapping("/upload")
        public String fileupload(@RequestParam("file")CommonsMultipartFile file,HttpServletRequest req) throws IOException{
            //获取文件名
            //file.getOriginalFilename();
            //获取上传文件的路径
            String path = req.getRealPath("/fileupload");
            InputStream is = file.getInputStream();
            OutputStream os = new FileOutputStream(new File(path,file.getOriginalFilename()));
            int len = 0;
            byte[] buffer = new byte[400];
            while((len=is.read(buffer))!=-1){
                os.write(buffer,0,len);
                os.close();
                is.close();
            }
                
            return "/index.jsp";
        }
    
    }

    批量上传的代码

    @RequestMapping("/batch")
        public String fileupload(@RequestParam("file")CommonsMultipartFile file[],
                HttpServletRequest req) throws IOException{
            //获取文件名
            //file.getOriginalFilename();
            //获取上传文件的路径
            String path = req.getRealPath("/fileupload");
            for (int i = 0; i < file.length; i++) {            
            InputStream is = file[i].getInputStream();
            OutputStream os = new FileOutputStream(new File(path,file[i].getOriginalFilename()));
            int len = 0;
            byte[] buffer = new byte[400];
            while((len=is.read(buffer))!=-1)
                os.write(buffer,0,len);
                os.close();
                is.close();        
            }
                
            return "/index.jsp";
        }
  • 相关阅读:
    [HDOJ1800]Flying to the Mars
    [HDOJ5058]So easy
    HDU 2819 — Swap 二分匹配
    POJ1236
    Codeforces Round #267 (Div. 2) C. George and Job DP
    codeforces Round #263(div2) D. Appleman and Tree 树形dp
    HDU 4345 Permutation dp
    HDU 4349 Xiao Ming's Hope lucas定理
    HDU 4342History repeat itself 数学
    HDU 4341 分组背包
  • 原文地址:https://www.cnblogs.com/alloevil/p/6072035.html
Copyright © 2020-2023  润新知