jeesite图片上传并显示

前几天大哥叫我搞个这的需求出来  上传图片并展示出来 并且后台对图片进行裁剪上传

前端传来的图片是个base64的编码 格式的图片 

点击新增

 点击上传图片

 可进行裁剪 然后上传并且展示出来

 前端form页面附上    记住 path路径一定要对上

<div class="row">
				<div class="col-xs-12">
					<div class="form-group" style="height:350px" data-align="center" >
						<label class="control-label col-sm-2"style="height: 100px" data-align="center" >
							<span class="required hide">*</span> ${text('图片上传')}:</label>
						<div class="col-sm-12" style="height: 350px" data-align="center">
							<img id="avatarImg" class="profile-user-img   img-rounded img-responsive img-thumbnail center-block width-460 " style="height:300px"width="100%\9" align="center"
								 src="${ctxStatic+'/upload.png'}">
							<#form:imageclip name="imageBase64" btnText="上传图片" btnClass="btn-block"
							uploadType="image" class="" readonly="false" preview="true"
							imageId="avatarImg" imageDefaultSrc="${ctxStatic+'/upload.png'}" path="photo"
							circle="false"/>
						</div>
					</div>
				</div>
			</div>

前端list页面:

{header:'${text("产品图片")}', name:'photo', sortable:false, width:83, align:"center", formatter: function(val, obj, row, act){
				return val ? '<img src="'+val+'" height="70" width="70"/>' : '<img src="${ctxStatic+'/upload.png'}" height="70" width="70"/>';
			}},

官方文档太短了

 

 刚开始搞 我直接写在Controller层  大家别学我 

下面是自己测试的 有些小问题 不过问题不大

public String save(@Validated ProductData productData,String photo) {
        //保存到用户字段
  //      User user = UserUtils.getUser();
        // 如果设置了头像,则保存头像
        if (StringUtils.isNotBlank(photo)) {
            if ("EMPTY".equals(photo)) {
                productData.setPhoto(StringUtils.EMPTY); //如果是空的就把这个设置为空值
            } else {  //如果不是空的 否则就把这个图片保存到一个指定的目录下
                //先解码后保存
                //Base64解码
                //写入本地文件
                try {
                    String imageUrl = "avatar/" +UUID.randomUUID().toString()
                            + "." + FileUtils.getFileExtensionByImageBase64(photo);

                    String fileName = Global.getUserfilesBaseDir(imageUrl);
                    FileUtils.writeToFileByImageBase64(fileName, photo);
                    System.out.println("fileName" + fileName);
                    System.out.println("imageUrl:"+imageUrl);
                    logger.info(fileName);
                    //然后在给数据库的字段配置一个图片地址  设置进去
                    productData.setPhoto(Global.USERFILES_BASE_URL + imageUrl);

                } catch (Exception e) {
                    return String.valueOf(false);
                }
            }
            productDataService.save(productData);
        }
        return renderResult(Global.TRUE, text("保存产品数据成功!"));
    }

service层就不写了

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值