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

    1 配置虚拟路径

    方法一:修改tomcat的配置文件

    tomcat上配置图片虚拟目录,在tomcatconf/server.xml中添加:

    <Context docBase="D:developupload	emp" path="/pic" reloadable="false"/>

    访问http://localhost:8080/pic即可访问D:developupload emp下的图片。

    方法二:通过eclipse配置

    复制一张图片到D盘下面的upload问价夹里面,然后使用浏览器访问。

    网址为:http://localhost:8080/pic/图片名称(包括后缀名)

    2 加入jar包

    实现图片上传需要加入的jar包,如下图:

    把两个jar包放到工程的lib文件夹中

    3 配置上传解析器

     springmvc.xml中配置文件上传解析器

    <!-- 文件上传,id必须设置为multipartResolver -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设置文件上传大小 单位是B 5M=5*1024*1024 -->
        <property name="maxUploadSize" value="5242880" />
    </bean>

    4 准备jsp页面

    这里我准备两个jsp页面,1个用于文件上传,另外一个用于上传的图片的回显。

    1 fileupload.jsp页面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>FileUpload</title>
    </head>
    <body>
        <form action="${pageContext.request.contextPath }/file/upload.action" 
              method="post" enctype="multipart/form-data">
              <input type="file" name="filename">
              <input type="submit" value="上传">
        </form>
    </body>
    </html>

    2 uploadsuccess.jsp页面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <h1>${msg}</h1>
        <div style=" 600px;height: 480px;border:2px solid green" >
            <img alt="图片获取失败" src="/pic/${pictureName}"
             style=" 100%;height: 100%">
        </div>
    </body>
    </html>

    5 图片上传FileController

    package com.test.springmvc.controller;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.UUID;
    
    import javax.jws.WebParam.Mode;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.multipart.MultipartFile;
    
    @Controller
    public class FileController {
    
        @RequestMapping(value="/file/upload.action")
        public void fileUpload(HttpServletRequest request,
                HttpSession session,
                HttpServletResponse response, 
                MultipartFile filename) throws Exception{
    
            /* 图片上传
             * 
             * 首先应该判断是否上传了图片,如果没有上传图片的话。
             * oriName为[].然后执行oriName.lastIndexOf(".")将会抛出异常。
             */
            if(!filename.isEmpty()){ //上传了图片
                // 设置图片名称,不能重复,可以使用uuid
                String picName =UUID.randomUUID().toString().replaceAll("-", "");
                
                // 获取文件名
                String oriName = filename.getOriginalFilename();
                // 获取图片后缀
                String extName = oriName.substring(oriName.lastIndexOf("."));
    
                // 开始上传.需要注意E:/upload/路径必须存在,不然会抛出异常
                filename.transferTo(new File("E:/upload/" + picName + extName));
                
                //上传后的图片名称
                String pictureName = picName+extName;
                
                //图片名称放入域中,同时返回上传成功了的提示
                session.setAttribute("pictureName", pictureName);
                session.setAttribute("msg", "图片上传成功了");
                //重定向图片回显的jsp页面
                response.sendRedirect(request.getContextPath()+"/uploadsuccess.jsp");
            }else{//没有上传图片
                session.setAttribute("msg", "你没有选择上传的图片");
                //重定向图片回显的jsp页面
                response.sendRedirect(request.getContextPath()+"/uploadsuccess.jsp");
            }
        }
    }

    6 测试

     

  • 相关阅读:
    Azure HPC Pack Cluster添加辅助节点
    Azure HPC Pack 辅助节点模板配置
    Azure HPC Pack配置管理系列(PART6)
    Windows HPC Pack 2012 R2配置
    Azure HPC Pack 节点提升成域控制器
    Azure HPC Pack VM 节点创建和配置
    Azure HPC Pack 部署必要条件准备
    Azure HPC Pack 基础拓扑概述
    Azure VM 性能计数器配置
    Maven私仓配置
  • 原文地址:https://www.cnblogs.com/jepson6669/p/9038914.html
Copyright © 2011-2022 走看看