• 上传图片并在页面回显图片


    这是根据自己写的一个教师管理系统实现的

    由于主要用在头像上,把上传的头像存储到本地

    为了方便,设置一个虚拟地址:

    然后添加虚拟路径和实际路径即可

    前台:

    <div class="pic" style="opacity: 1">
                        <a id="apic" href="/teacherImage/${sessionScope.teacher.tpic}"><img  alt="教师照片"  style="opacity: 1"  width=90px height=90px id="pic" src="/teacherImage/${sessionScope.teacher.tpic}"/></a>
                   </div>
                   <div class="tlbl">
                   <form id="picUpload" method="post" enctype="multipart/form-data">
                       <input type="file"  name="picUploadFile" onchange="uploadPic()"/>
                       </form>
                   </div>

     js代码:

    function uploadPic(){
             var formData = new FormData($('#picUpload')[0]);
             $.ajax({
                 type: 'post',
                 url: "teacher/uploadPic.action",
                 data: formData,
                 cache: false,
                 processData: false,
                 contentType: false,
             }).success(function (data) {
                 if(data !== $("#apic").attr("href")){
                     $("#apic").attr("href",data);
                     $("#pic").attr("src",data);
                     alert("头像上传成功!");
                 }
                 else{
                     alert("图片上传失败!");
                 }
             }).error(function () {
                 alert("上传失败");
             });
        }

    后台:

    @RequestMapping(value="/teacher/uploadPic", produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8")
        @ResponseBody
        public String uploadFile(MultipartFile picUploadFile,HttpServletRequest request) throws Exception{
                //获取原头像地址
                Teacher teacher = (Teacher) request.getSession().getAttribute("teacher");
                String pic = teacher.getTpic();
                //判断文件是否为图片
                String originalFileName = picUploadFile.getOriginalFilename();
                String houzhui = originalFileName.substring(originalFileName.lastIndexOf("."));
                if(!houzhui.equals(".jpg")&&!houzhui.equals(".png")) {
                    return "/teacherImage/"+pic;
                }
                
                //上传文件
                String newFileName = UUID.randomUUID()+houzhui;
                File newFile = new File(picUrl,newFileName);
                picUploadFile.transferTo(newFile);
                
                //删除原有头像文件
                String oldPicUrl = picUrl + "/" + pic;
                File picFile = new File(oldPicUrl);
                if(picFile.exists()) {
                    picFile.delete();
                }
                
                //把现有文件地址保存
                teacher.setTpic(newFileName);
                request.getSession().removeAttribute("teacher");
                request.getSession().setAttribute("teacher",teacher);
                teacherService.updateTeacher(teacher);
                return "/teacherImage/"+newFileName;
        }

    主要实现方法就是上边,如若需要其他需求,可按上边进行更改

  • 相关阅读:
    Memcached: 目录
    Memcached: temple
    Redis: Redis支持五种数据类型
    互联网市场
    java实现猜生日
    java实现汉诺塔计数
    java实现汉诺塔计数
    java实现汉诺塔计数
    java实现汉诺塔计数
    java实现汉诺塔计数
  • 原文地址:https://www.cnblogs.com/ITDreamer/p/9696662.html
Copyright © 2020-2023  润新知