图片上传及预览

jsp:

<div class="el-col el-col-6"><span class="uploadText">封面图<br><span>200*200px<br>100kb以下</span></span>
<div class="el-form-item">

<div class="el-form-item__content" style="margin-left: 100px;">
<div class="el-input" style="width: 0px; opacity: 0; position: absolute;">

<input autocomplete="off" type="text" rows="2" validateevent="true" class="el-input__inner">


</div>
<div class="avatar-uploader upload active">
<input type="file" name="preview" οnchange="preview2(this)" />

//进行判断,如果是编辑就显示原来的图片,如果是新建,就不现实图片
<c:if test="${not empty activity.img }">
<div id="preview2"  path="img" name="img">
<img src="${ctxUser }/live/img/${activity.img}"/>
</div>

</c:if>
<c:if test="${empty activity.img }">
<div id="preview2" style="display:none;" path="img" name="img"></div>
</c:if>

<ul class="el-upload-list el-upload-list--text"></ul>
</div>

</div>
</div>
</div>


js:如果点击上传,div就显示图片

<script type="text/javascript">
  function preview2(file) {
$("#preview2").show();
    var prevDiv = document.getElementById('preview2');
    if (file.files && file.files[0]) {
      var reader = new FileReader();
      reader.onload = function(evt) {
        prevDiv.innerHTML = '<img src="' + evt.target.result + '" />';
      }
      reader.readAsDataURL(file.files[0]);
    } else {
      prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
    }
  }
  </script>


图片上传:

jsp:

<form:form modelAttribute="activity" class="el-form demo-ruleForm el-form--label-left"  enctype="multipart/form-data"   action="${ctxFront }/live/front/saveZhibo?activityId=${activityId }" method="post" >
<form:hidden  name="id" value="${activity.id }" path="id"/>
<div class="el-row">
<div class="el-col el-col-10">

<div class="el-form-item"><label for="nickname" class="el-form-item__label" style="width: 100px;">名称</label>
<div class="el-form-item__content" style="margin-left: 100px;">
<div class="el-input">
<!---->
<!----><form:input htmlEscape="false" placeholder="名称" path="name"  name="name" type="text" rows="2"  value="" class="el-input__inner" />
<!---->
<!---->
</div>
<!---->
</div>
</div>

<div class="el-form-item"><label for="telPhone" class="el-form-item__label" style="width: 100px;">主办方</label>
<div class="el-form-item__content" style="margin-left: 100px;">
<div class="el-input">
<!---->
<!----><form:input htmlEscape="false" placeholder="主办方" type="text" rows="2" name="sponsor" path="sponsor"  class="el-input__inner" />
<!---->
<!---->
</div>
<!---->
</div>
</div>
<div class="el-form-item"><label for="qq" class="el-form-item__label" style="width: 100px;">地点</label>
<div class="el-form-item__content" style="margin-left: 100px;">
<div class="el-input">
<!---->
<!----><form:input htmlEscape="false" placeholder="地点" type="text" rows="2" path="address" name="address"  class="el-input__inner" />
<!---->
<!---->
</div>
<!---->
</div>
</div>
<div class="el-form-item"><label for="email" class="el-form-item__label" style="width: 100px;">开始时间</label>
<div class="el-form-item__content" style="margin-left: 100px;">
<div class="el-input">
<!---->
<!----><form:input htmlEscape="false" placeholder="开始时间" type="text" rows="2" id="beginTime" path="beginTime" name="beginTime" value="${fn:substring(activity.beginTime, 0, 19)}" class="el-input__inner" />
<!---->
<!---->
</div>
<!---->
</div>
</div>
<div class="el-form-item"><label for="company" class="el-form-item__label" style="width: 100px;">结束时间</label>
<div class="el-form-item__content" style="margin-left: 100px;">
<div class="el-input">
<!---->
<!----><form:input  placeholder="结束时间" type="text" rows="2" path="endTime" name="endTime" id="endTime" value="${fn:substring(activity.endTime, 0, 19)}" class="el-input__inner" />
<!---->
<!---->
</div>
</div>
</div>
</div>
</div>
<div class="el-row">
<div class="el-col el-col-12">

<div class="el-form-item"><label for="address" class="el-form-item__label" style="width: 100px;">描述</label>
<div class="el-form-item__content" style="margin-left: 100px;">
<div class="el-textarea"><form:textarea placeholder="请输入描述..."  rows="3" path="marks" name="marks" htmlEscape="false" class="el-textarea__inner"></form:textarea></div>
<!---->
</div>
</div>
</div>
</div>
<div class="el-row">
<div class="el-col el-col-6"><span class="uploadText">封面图<br><span>200*200px<br>100kb以下</span></span>
<div class="el-form-item">

<div class="el-form-item__content" style="margin-left: 100px;">
<div class="el-input" style="width: 0px; opacity: 0; position: absolute;">

<input autocomplete="off" type="text" rows="2" validateevent="true" class="el-input__inner">


</div>
<div class="avatar-uploader upload active">
<input type="file" name="preview" οnchange="preview2(this)" />
<c:if test="${not empty activity.img }">
<div id="preview2"  path="img" name="img">
<img src="${ctxUser }/live/img/${activity.img}"/>
</div>

</c:if>
<c:if test="${empty activity.img }">
<div id="preview2" style="display:none;" path="img" name="img"></div>
</c:if>

<!-- <div class="el-upload el-upload--text"><img src="http://s.tuwenzhibo.com/app/static/69user.png"  class="avatar active"><input type="file" name="file" accept="image/jpeg,image/png,image/gif," class="el-upload__input"></div> -->
<ul class="el-upload-list el-upload-list--text"></ul>
</div>

</div>
</div>
</div>
</div> 
<div class="el-form-item">
<!---->
<div class="el-form-item__content" style="margin-left: 100px;"><button type="submit" class="el-button el-button--primary"><!----><!----><span>保存设置</span></button>
<!---->
</div>
</div>
</form:form>



controller:

@RequestMapping(value = "saveZhibo")
public String saveZhibo(@RequestParam("preview") MultipartFile picfile,Activity activity, Model model, RedirectAttributes redirectAttributes,HttpServletRequest request,HttpServletResponse response) {

String token = CookieUtils.getCookie(request, "token");
if(StringUtils.isEmpty(token)){
return "modules/live/admin/login";
}else{
User user = userDao.findByLoginName(TokenMd5Utils.getUserNameByToken(token));
if(user != null){
request.setAttribute("user", user);
Long activityId = RequestUtil.getLong(request, "activityId");
activity.setUserId(user.getId());
activity.setCreateTime(new Date());
if(picfile != null && picfile.getOriginalFilename().length()>4){
System.out.println("filename不为空");
String picFilePath = WechatUtils.getLiveResourceSavePath(request)+File.separator;
FileUtils.createDirectory(picFilePath);
String sname = picfile.getOriginalFilename();
String fileType = sname.substring(sname.lastIndexOf("."));
String fname  = "picture_"+user.getId()+"_"+System.currentTimeMillis()+fileType;
File file = new File(picFilePath+fname);

try {
picfile.transferTo(file);
String basePath  = request.getScheme()+"://"+request.getServerName()+request.getContextPath();
System.out.println("basePath:"+basePath);
String url = basePath+"/userfiles/mediaPicture/"+file.getName();
activity.setImg(file.getName());
/*MaterialPicture picture = new MaterialPicture();
picture.setUserId(member.getUserId());
picture.setName(file.getName());
picture.setTitle(title);
picture.setQuoteUrl(url);
picture.setDepositUrl(picFilePath+file.getName());
picture.setMemberId(member.getId());
picture.setMemberName(member.getName());
picture.setMemberMobile(member.getMobile());
materialPictureService.save(picture);*/

request.setAttribute("result", "true");
request.setAttribute("msg", "上传图片素材成功");
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("result", "false");
request.setAttribute("msg", "上传图片素材失败");
}
}else{
if(activityId!= null && activityId>0){
                Activity activity2 = activityService.get(activityId);
    activity.setImg(activity2.getImg());
}
System.out.println("filename为空");

request.setAttribute("result", "false");
request.setAttribute("msg", "文件为空!");
}
                if(activityId!= null && activityId>0){
                Activity activity2 = activityService.get(activityId);
                activity.setCreateTime(activity2.getCreateTime());
    activity.setCanyu(activity2.getCanyu());
    activity.setFabulous(activity2.getFabulous());
    activity.setOnline(activity2.getOnline());
}
                activity.setCanyu(0L);
activity.setFabulous(0L);
activity.setOnline(0L);
System.out.println("activityId-----------"+activityId);
activityService.save(activity);
request.setAttribute("activity", activity);
return "redirect:"+Global.FRONT_PATH+"/live/front/jumpIndex";
}else{
CookieUtils.setCookie(response, "token", "");
return "modules/live/admin/login";
}
}
}

//设置上传路径

/**
* 图文直播上传封面图
* @param request
* @return
*/
public static String getLiveResourceSavePath(HttpServletRequest request){
String rootpath = request.getRealPath("/userfiles");
return rootpath +File.separator + "live/img";
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值