zoukankan      html  css  js  c++  java
  • Spring MVC——文件上传

    1. 导入jar包
    commons-io-2.4.jar、
    commons-fileupload-1.2.2.jar

    2.在%tomcat根目录%/conf/server.xml中的<host>节点中配置tomcat虚拟目录
    <!--
    docBase:实际上传路径
    path:虚拟路径,访问路径为:http://localhost:8088/image
    -->
    <Context docBase="E:zhaorong emp" path="/image" reloadable="false"/>

    3.在spring-mvc.xml配置解析器

    <!-- 文件上传 : id名称必须给multipartResolver -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 设置文件的最大大小 (以byte字节为单位) 10M-->
    <property name="maxUploadSize" value="10485760"></property>
    </bean>

    4.编写上传页面index.jsp
    <form action="upload.action" method="post" enctype="multipart/form-data">

    图片:<input type="file" name="multipartFile"><br/><br/>

    <img src="http://localhost:8088/image/${fileName}"><br/><br/>

    <input type="submit" value="上传">
    </form>

    5.编写controller代码
    public String upload(Model model,MultipartFile multipartFile)//multipartFile名必须与页面的上传对象的名字相同

                                  //也可以在一个from表单中上传其他类型的数据,但因为是以post类型提交,所以必须使用request获取
    {
    try {
    System.out.println("保存文件对象:"+ multipartFile);

    //原文件名称
    String fileName = multipartFile.getOriginalFilename();//Tulips.jpg
    System.out.println("原文件名:" + fileName);

    //扩展名
    String suffix = fileName.substring(fileName.lastIndexOf("."));
    System.out.println("扩展名:" + suffix);

    //新文件名称
    String newFileName = UUID.randomUUID() + suffix;
    System.out.println("新文件名:" + newFileName);

    //上传路径
    File dest = new File("E:\zhaorong\temp\"+newFileName);

    //上传
    multipartFile.transferTo(dest);

    //保存文件名称
    model.addAttribute("fileName", newFileName);

    } catch (IllegalStateException | IOException e) {
    e.printStackTrace();
    }

    return "index";
    }
    6.测试
    http://localhost:8088/springMvc_07_fileupload/index.jsp

  • 相关阅读:
    jqGrid Demos
    响应式web设计之CSS3 Media Queries
    固定表头带滚动条的HTML表格
    eclipse不自动弹出提示(alt+/快捷键失效)
    用ant打包可运行的jar文件 (将第三方jar包放进你自己的jar包)
    lufylegend库 LButton
    lufylegend库 鼠标事件 循环事件 键盘事件
    lufylegend库 LTextField
    jsp内置对象 的使用范围和类型【说明】
    struts2 maven整合tiles3
  • 原文地址:https://www.cnblogs.com/ccw95/p/6169597.html
Copyright © 2011-2022 走看看