spring boot框架 最详细的上传图片,并地址保存到数据库中 适合新手

您所在的位置:网站首页 像框架图片的做法 spring boot框架 最详细的上传图片,并地址保存到数据库中 适合新手

spring boot框架 最详细的上传图片,并地址保存到数据库中 适合新手

2024-07-13 20:42| 来源: 网络整理| 查看: 265

spring boot框架 上传图片,并地址保存到数据库中 适合新手 上传图片的业务验证图片后缀存放在实例类的地址与字段有两种上传方式一、使用Ajax方法提交二、直接用

上传图片的业务

我在做毕业项目时涉及到了上传图片的业务,之前没有做过这方面的案例。所以走了很多的弯路,我现在希代码发出来希望这对刚接触代码的萌新们帮助!!! 转发说明出处 java

@RequestMapping("/imgStr") public void ImgStr( MultipartFile file, Auser auser)throws IOException { //我们简单验证一下file文件是否为空 if (file.equals("")){return;} Date date = new Date(); //获取当前系统时间年月这里获取到月如果要精确到日修改("yyyy-MM-dd") String dateForm = new SimpleDateFormat("yyyy-MM").format(date); //地址合并 path.getFileimg 是存放在实体类的路径 不会写得同学可以直接写 "D:\\img" 这文件要手动创建 String casePath = path.getFileimg()+dateForm; //获取图片后缀 String imgFormat = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); //这里我们加入了验证图片类型 这需要自己手动写 声明点这只是非常简单的验证 //删除不影响程序运行 /***************************************************/ ImgRegulation regulation = new ImgRegulation(); try{ boolean ifimg = regulation.VERIFY(imgFormat); if (false==ifimg){ return; } }catch (Exception e){ return; } /****************************************************/ //判断文件是否存在 /*************************************************/ File f = new File(casePath); try {if (!f.exists()){f.mkdirs();} }catch (Exception e){ return; } /*************************************************/ //给图片重新随机生成名字 String name= UUID.randomUUID().toString()+imgFormat; //保存图片 file.transferTo(new File(casePath+"\\"+name)); //拼接要保存在数据中的图片地址 //path.getUREIMG() 同样也是存放在实体类的字段 可以直接写 http://localhost:8080/ //dateForm 这是动态的文件夹所以要和地址一起存入数据库中 //auser 为@RequestMapping("/auser") String urlImg = path.getUREIMG()+"auser/show?fileUrl="+dateForm+"/"+name; //放入对应的字段中 auser.setUserimg(urlImg); //上传数据库 service.updateimg(auser); } 验证图片后缀

注意:这种验证图片安全性并不高,只能适用于练手。 java

public class ImgRegulation { public boolean VERIFY(String imgverify){ //可以随意添加图片类型 无需改代码 String[] imgformat = {".jpg",".png",".jpeg",".pjg",".pjeg",".jfif"}; for(String img:imgformat){ if(img.equals(imgverify)){ return true; } } return false; } } 存放在实例类的地址与字段

这里省略了GET与SET.说明这样做法并没有提升代码的安全性只是为了装B!!! java

public class Fileaddress { private String fileimg = "D:\\Code\\IDEA\\itgpshool\\gpit\\src\\main\\resources\\img\\"; private String UREIMG = "http://localhost:8080/"; } 有两种上传方式 一、使用Ajax方法提交

javascript

function butupdateimg(userid){ if (!$("#img-input").val()){return false; } let formData = new FormData($("#postForm")[0]); formData.append("userid",userid); $.ajax({ url:"http://localhost:8080/auser/imgStr", data:formData, type:"post", cache: false, processData: false, contentType: false, success:function(data) { toastr.success("上传成功!") }, error:function (errorThrown) { toastr.error("上传失败!") } })

html

二、直接用标签上传

html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3