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

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

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

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

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

 

 

 

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

前台:

               <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;
    }

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jarbein

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值