zoukankan      html  css  js  c++  java
  • 上传头像,layui上传图片

    layui上传与bootstrap上传相似,只是不需要下插件,

    layui自带的已够用 先看一下前台界面,这里是用到的上传头像

    先点击开始上传,头像上传至服务器中,

    返回json添加至form表单中,与其他数据一起提交

    先看一下jsp界面

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>个人资料</title>
     8 <link href="${pageContext.request.contextPath }/js/layui/css/layui.css"
     9     rel="stylesheet" />
    10 <script src="${pageContext.request.contextPath }/js/layui/layui.js"
    11     charset="utf-8"></script>
    12 <script src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
    13 <script type="text/javascript">
    14         layui.use('upload',function(){
    15             var upload = layui.upload;
    16             upload.render({
    17                 elem: '#fileBtn'
    18                 ,url: '../updatePersonalById.do'
    19                 ,accept: 'file'
    20                 ,auto: false
    21                 ,bindAction: '#uploadBtn'
    22                 ,done: function(res){
    23                     alert(res.data.src);
    24                     $("[name=userImage]").val(res.data.src);
    25                 }
    26             });
    27         });
    28     </script>
    29 
    30 </head>
    31 <body>
    32     <form class="layui-form" action="../updatePersonalByIdSuccess.do" method="post" charset="utf-8" target="_parent">
    33          <div class="layui-form-item" style="margin-top: 20px;">
    34             <label class="layui-form-label">编号</label>
    35             <div class="layui-input-block">
    36               <input type="text" name="userId" required  lay-verify="required" value="${ui.userId }" autocomplete="off" readonly="readonly" class="layui-input">
    37             </div>
    38           </div>
    39            <div class="layui-form-item" style="margin-top: 20px;">
    40             <label class="layui-form-label">登录名</label>
    41             <div class="layui-input-block">
    42               <input type="text" name="userName" required  lay-verify="required" value="${ui.userName }" autocomplete="off" readonly="readonly" class="layui-input">
    43             </div>
    44           </div>
    45            <div class="layui-form-item" style="margin-top: 20px;">
    46             <label class="layui-form-label">密码</label>
    47             <div class="layui-input-block">
    48               <input type="password" name="userPwd" required  lay-verify="required" value="${ui.userPwd }" autocomplete="off" class="layui-input">
    49             </div>
    50           </div>
    51           <div class="layui-form-item" style="margin-top: 20px;">
    52             <label class="layui-form-label">确认密码</label>
    53             <div class="layui-input-block">
    54               <input type="password" name="reuserPwd" required  lay-verify="required" value="${ui.userPwd }" autocomplete="off" class="layui-input">
    55             </div>
    56           </div>
    57            <div class="layui-form-item" style="margin-top: 20px;">
    58             <label class="layui-form-label">真实姓名</label>
    59             <div class="layui-input-block">
    60               <input type="text" name="userrealName" required  lay-verify="required" value="${ui.userrealName }" autocomplete="off" class="layui-input">
    61             </div>
    62           </div>
    63            <div class="layui-form-item" style="margin-top: 20px;">
    64             <label class="layui-form-label">电话</label>
    65             <div class="layui-input-block">
    66               <input type="text" name="userPhone" required  lay-verify="required" value="${ui.userPhone }" autocomplete="off" class="layui-input">
    67             </div>
    68           </div>
    69            <div class="layui-form-item" style="margin-top: 20px;">
    70             <label class="layui-form-label">地址</label>
    71             <div class="layui-input-block">
    72               <input type="text" name="userAds" required  lay-verify="required" value="${ui.userAds }" autocomplete="off" class="layui-input">
    73             </div>
    74           </div>
    75           <div class="layui-upload">
    76                 <label class="layui-form-label">头像:</label>
    77                 <div class="layui-upload layui-input-block">
    78                     <input type="hidden" name="userImage" value="${ui.userImage }" required lay-verify="required" />
    79                     <button type="button" class="layui-btn layui-btn-primary" id="fileBtn"><i class="layui-icon">&#xe67c;</i>选择文件</button>
    80                     <button type="button" class="layui-btn layui-btn-warm" id="uploadBtn">开始上传</button>
    81                 </div>
    82             </div>
    83              <div class="layui-form-item" style="margin-top: 20px;">
    84                   <div class="layui-input-block">
    85                   <button class="layui-btn" id="btn1" lay-submit lay-filter="formDemo">提交</button>
    86                   <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    87                 </div>
    88              </div>
    89           
    90     </form>
    91 </body>
    92 </html>

    与Controller交互的.do

     1 package com.supermanager.controller;
     2 
     3 import java.io.File;
     4 import java.io.IOException;
     5 import java.util.Date;
     6 import java.util.List;
     7 import java.util.Random;
     8 
     9 import javax.annotation.Resource;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpSession;
    12 
    13 import org.springframework.context.annotation.Scope;
    14 import org.springframework.stereotype.Controller;
    15 import org.springframework.web.bind.annotation.ModelAttribute;
    16 import org.springframework.web.bind.annotation.RequestMapping;
    17 import org.springframework.web.bind.annotation.RequestParam;
    18 import org.springframework.web.bind.annotation.ResponseBody;
    19 import org.springframework.web.multipart.MultipartFile;
    20 
    21 import com.supermanager.entity.LogsInfo;
    22 import com.supermanager.entity.RoleInfo;
    23 import com.supermanager.entity.StoragesInfo;
    24 import com.supermanager.entity.UserInfo;
    25 import com.supermanager.service.LogsService;
    26 import com.supermanager.service.RoleInfoService;
    27 import com.supermanager.service.StoragesService;
    28 import com.supermanager.service.UserInfoService;
    29 
    30 import net.sf.json.JSONArray;
    31 
    32 @Controller
    33 @Scope("prototype")
    34 public class UserInfoController {
    35 
    36     @Resource
    37     private UserInfoService userInfoService;
    38     @Resource
    39     private LogsService logService;
    40     @Resource
    41     private RoleInfoService roleInfoService;
    42     @Resource
    43     private StoragesService storagesService;
    44     
    45 
    46     /**
    47      * 修改个人资料
    48      * @param session
    49      * @param file
    50      * @param ui
    51      * @return
    52      * @throws IOException 
    53      * @throws IllegalStateException 
    54      */
    55     @RequestMapping(value="updatePersonalById")
    56     public @ResponseBody String updatePersonal(@RequestParam("file") MultipartFile file,@ModelAttribute UserInfo ui,HttpServletRequest request) throws IllegalStateException, IOException{
    57         String oldName = file.getOriginalFilename();
    58         String path = request.getServletContext().getRealPath("/upload/");
    59         String fileName = changeName(oldName);
    60         String rappendix = "upload/" + fileName;
    61         fileName = path + "/" + fileName;
    62         File file1 = new File(fileName);
    63         file.transferTo(file1);
    64         String str = "{"code": 0,"msg": "","data": {"src":"" + rappendix + ""}}";
    65         return str;
    66     }
    67     public static String changeName(String oldName){
    68         Random r = new Random();
    69         Date d = new Date();
    70         String newName = oldName.substring(oldName.indexOf('.'));
    71         newName = r.nextInt(99999999) + d.getTime() + newName;
    72         return newName;
    73     }
    74     @RequestMapping(value="updatePersonalByIdSuccess")
    75     public  String updatePersonalByIdSuccess(@ModelAttribute UserInfo ui){
    76         UserInfo uif = userInfoService.FindUserByUserId(ui.getUserId());
    77         ui.setRoleId(uif.getRoleId());
    78         ui.setUserSex(uif.getUserSex());
    79         ui.setUserAge(uif.getUserAge());
    80         int a = userInfoService.Update(ui);
    81         if(a!=0){
    82             return "redirect:exitSystem.do";
    83         }
    84         return "error";
    85     }
    86     
    87     
    88     
    89 }
     上传成功之后的效果如图

  • 相关阅读:
    J2SE之网络编程
    JAVA正则表达式语法大全
    JAVA小程序在线聊天系统
    简单小程序代码行数计数器
    android回调函数总结
    MetaCharacters正则表达式
    简单小程序抓取网页中的email地址。
    Oracle学习<二>
    html标签大全
    如何做页面优化
  • 原文地址:https://www.cnblogs.com/javallh/p/8269027.html
Copyright © 2011-2022 走看看