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
    评论
对于jeesite框架的文件上传,你可以按照以下步骤进行操作: 1. 在你的项目中,创建一个用于处理文件上传的Controller或者处理文件上传的方法。 2. 在前端页面中,通过表单的方式提供文件选择功能,并将文件提交到后端。 3. 在后端Controller或方法中,使用MultipartFile参数接收前端提交的文件。 4. 使用MultipartFile的方法,如`getOriginalFilename()`获取文件名,`getSize()`获取文件大小等。 5. 可选:对文件名进行处理,如生成唯一的文件名,避免重复。 6. 使用File类或其他相关工具,将接收到的文件保存到指定位置。 以下是一个简单的示例代码,供参考: ```java @Controller public class FileUploadController { @PostMapping("/upload") public String uploadFile(@RequestParam("file") MultipartFile file) { if (!file.isEmpty()) { try { // 获取文件名 String fileName = file.getOriginalFilename(); // 可选:对文件名进行处理 // 保存文件到指定位置 String filePath = "/path/to/save/file/" + fileName; File dest = new File(filePath); file.transferTo(dest); // 文件上传成功后的处理逻辑 return "uploadSuccess"; } catch (Exception e) { e.printStackTrace(); // 文件上传失败后的处理逻辑 return "uploadFailure"; } } else { // 文件为空的处理逻辑 return "uploadFailure"; } } } ``` 请注意,以上只是一个简单的示例,你需要根据自己的项目需求进行适当的修改和调整。同时,确保你的项目中已经配置了文件上传的相关依赖和配置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值