• ssm框架下上传图片及其他信息


    先引入这两个包:

                    <dependency>
    	        <groupId>commons-fileupload</groupId>
    			<artifactId>commons-fileupload</artifactId>
    			<version>1.3.1</version>
    		</dependency>
    		<dependency>
    			<groupId>commons-io</groupId>
    			<artifactId>commons-io</artifactId>
    			<version>1.3.1</version>
    		</dependency>
    

    html:

    注意:enctype="multipart/form-data"  这个要这样定义

    <form id="form-register" action="${pageContext.request.contextPath}/user/upLoadPicture.do" method="post"  enctype="multipart/form-data" onsubmit="return check()" class="form-horizontal m-t">
    <div class="form-group">
            <label class="col-sm-5 control-label">上传头像:</label>     
            <input type="file" name="file" id="file" style="height:30px;background-color:#ff9900;outline:none;border:none;10%;" onchange="uploadPic()"> 
    
    </div>
    <div class="form-group">
      <label class="col-sm-5 control-label">头像显示:</label>
       <div class="col-sm-4" >
          <img border="0" width="40" height="50" src="${user.picture}">
       </div>
    </div>
      <input type="hidden" name="id" id="id" readonly="readonly" value="${user.id}" /> 
      <div class="form-group">
            <label class="col-sm-5 control-label"><span style="color: red;">*</span>用户名:</label>
            <div class="col-sm-4" >
                <input type="text" id="name" name="name"  class="form-control" placeholder="请输入用户名" onblur="checkName()"  maxlength="16"  value="${user.name}">
                <div id="user_prompt">用户名由4到16位(字母,数字,下划线,减号)</div>
            </div>
       </div> 
      <div class="form-group">
            <label class="col-sm-5 control-label">真实姓名:</label>
            <div class="col-sm-4">
                <input type="text" id="realName" name="realName" class="form-control" placeholder="请输入真实姓名"  value="${user.realName}">
            </div>
        </div> 
     
            	<div class="form-group">
                	<label class="col-sm-5 control-label">性别</label>
                    <div class="col-sm-4">
                    <c:if test="${user.gender=='男'}">
                       <div class="radio-box"  style="float:left">
    					<input name="gender" type="radio" id="male" value="男" checked>
    					<label for="sex-1">男</label>
    				</div>
    				<div class="radio-box"  style="float:left">
    					<input name="gender" type="radio" id="female" value="女">
    					<label for="sex-2">女</label>
    				</div>
                    </c:if>
                    <c:if test="${user.gender=='女'}">
                       <div class="radio-box"  style="float:left">
    					<input name="gender" type="radio" id="male" value="男">
    					<label for="sex-1">男</label>
    				</div>
    				<div class="radio-box"  style="float:left">
    					<input name="gender" type="radio" id="female" value="女" checked>
    					<label for="sex-2">女</label>
    				</div>
                    </c:if>
                    </div>
                </div> 
                <div class="form-group">
                	<label class="col-sm-5 control-label">民族</label>
                    <div class="col-sm-4">
                      <select name="ethGro" class="form-control input-sm">
                             <option selected="selected" value="${user.ethGro}">${user.ethGro}</option>
                      </select>
                    </div>
                </div>
            
    <br>
    
        <div class="form-group" align=center>
          <div class="col-sm-8 col-sm-offset-2">
            <button class="btn btn-primary" type="submit">保存</button>
            </div>
        </div>
    </form

     后台:

    @RequestMapping(value="upLoadPicture.do",method = RequestMethod.POST)  
    public String  upload(User user,HttpServletRequest request,ModelMap map) throws Exception{  
    	  System.out.println(request.getParameter("name"));  
          //保存数据库的路径  
          String sqlPath = null;   
          //定义文件保存的本地路径  
          String localPath="D:\File\";  
          //创建文件 
      	  File dir=new File(localPath);
          if(!dir.exists()){
      		dir.mkdirs();
      	  }
          //定义 文件名  
          String filename=request.getParameter("name").toString();    
          if(!user.getFile().isEmpty()){    
              //生成uuid作为文件名称    
              String uuid = UUID.randomUUID().toString().replaceAll("-","");    
              //获得文件类型(可以判断如果不是图片,禁止上传)    
              String contentType=user.getFile().getContentType();    
              //获得文件后缀名   
              String suffixName=contentType.substring(contentType.indexOf("/")+1);  
              //得到 文件名  
              filename=uuid+"."+suffixName;   
              System.out.println(filename);  
              //文件保存路径  
              user.getFile().transferTo(new File(localPath+filename)); 
              sqlPath = "/images/"+filename;  
              System.out.println(sqlPath);  
              user.setPicture(sqlPath); 
              userService.updateUser(user);
          } 
          //把图片的相对路径保存至数据库  
          userService.updateUserNoPicture(user);  
          Page page=new Page();
          page.setCurrentPage(1);
          List<User> users = userService.getAllUser(page);
          page.setRows( userService.count());
      	  map.addAttribute("page",page);
      	  map.addAttribute("users",users);
      	  return "user_list";
    }  
    
  • 相关阅读:
    学习ExtJS(十一) accordion布局
    学习ExtJS(十) form布局
    使用PS保存PDF为图片(JPG)
    问题12:能否说:“电路交换和面向连接是等同的,而分组交换和无连接是等同的”? 答:不行。这在概念上是很不一样的。这点可举例说明如下。
    使用matlab判断CDMA接收码片
    问题115:什么是“无缝的”、“透明的”和“虚拟的”?
    百度域名信息
    问题110:有这样的说法:习惯上,人们都将网络的“带宽”作为网络所能传送的“最高数据率”的同义语。这样的说法有何根据?
    问题111:有时可听到人们将“带宽为10 Mb/s的以太网”说成是“速率(或速度)为10 Mb/s的以太网”或“10兆速率(或速度)的以太网”。试问这样的说法正确否?
    Tomcat中显示目录的配置
  • 原文地址:https://www.cnblogs.com/xiaotian-222/p/9431280.html
Copyright © 2020-2023  润新知