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

    1. 新建web项目
    2. 导入 jar 包,文件上传需要导入 commons-io, commons-fieupload.
    3. 配置 web.xml
      <!-- springmvc前端控制器配置 -->
        <servlet>
            <servlet-name>mvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:mvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>mvc</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>

      注意:servlet-mapping如果为 / 时,要拦截所要的请求。

    4. 编写文件上传处理器
      @Controller
      public class FileUploadController {
          @RequestMapping("/upload")
          public String fileupload(@RequestParam("file")CommonsMultipartFile file,HttpServletRequest req){
              String path = req.getRealPath("/upload");
              //获取原始文件名
              String fileName = file.getOriginalFilename();
              try {
                  InputStream is = file.getInputStream();
                  OutputStream os = new FileOutputStream(new File(path,fileName));
                  byte[] buffer = new byte[400];
                  int len=0;
                  while((len=is.read(buffer))!=-1)
                      os.write(buffer, 0, len);
                  os.close();
                  is.close();
              } catch (FileNotFoundException e) {
                  e.printStackTrace();
              } catch (IOException e) {
                  e.printStackTrace();
              }
              return "forward:/success.jsp";
          }
      }
    5. 编写 springmvc配置文件,需要配置MultipartResolver
      <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:p="http://www.springframework.org/schema/p"
          xmlns:context="http://www.springframework.org/schema/context"
          xmlns:mvc="http://www.springframework.org/schema/mvc"
          xsi:schemaLocation="
              http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd
              http://www.springframework.org/schema/context
              http://www.springframework.org/schema/context/spring-context.xsd 
              http://www.springframework.org/schema/mvc
              http://www.springframework.org/schema/mvc/spring-mvc.xsd">
          <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
              <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
              <property name="prefix" value="/"/>
              <property name="suffix" value=".jsp"/>
          </bean>
          <!-- 多媒体解析器 -->
          <bean id="multipartResolver"
              class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
              <property name="maxUploadSize" value="100000000"/>
          </bean>
          <mvc:annotation-driven/>
          <context:component-scan base-package="cn.wh.controller"/>
      </beans>
    6. 编写 jsp 页面
      <form action="upload.do" method="post" enctype="multipart/form-data">
             文件:<input type="file" name="file"/><input type="submit" value="上传"/>
         </form>

      请求路径不能和上传的目录一致

  • 相关阅读:
    定时执行
    history 命令历史
    last
    文件解压缩 tar zip
    硬件信息 dmidecode dmesg lsdev lshw haparm lsusb
    文件加密 解密 pdftk openssl gpg vim
    vim 脚本——插件
    irc
    telnet
    go 垃圾回收机制
  • 原文地址:https://www.cnblogs.com/forever2h/p/6805369.html
Copyright © 2011-2022 走看看