springboot实现简单的上传下载

eneity:/** * 主键 */ @Id @Column(length = 50) private String id= UUIDHelper.NewID(); /** * 上传人 */ private String siteId; /** * 文件路径 */ private String path;

controller:

/** * 文件上传 * @param siteId * @return RestResponse */ @ApiOperation(value = “文件上传”, notes = “文件上传”) @PostMapping(“/uploadFile”) public RestResponse upload(String siteId, MultipartFile file) { RestResponse restResp = new RestResponse(); if (StringUtils.isBlank(siteId)){ return restResp.setMsg(“siteId不能为空”); } try { //公共地址 String fileSpace=”F:/demo_upload”; //定义一个保存数据库的相对目录 String uploadPathDB=”/”+siteId+”/file”;// 获取文件名 String filename = file.getOriginalFilename(); if(StringUtils.isNotBlank(filename)){ //确定文件的最终上传路径 String finalFacePath=fileSpace+uploadPathDB+”/”+filename; //设置保存数据库中的目录 uploadPathDB+=(“/”+filename); //判断目录是否存在,不存在就创建 File outFile=new File(finalFacePath); if(outFile.getParentFile()!=null||!outFile.getParentFile().isDirectory()){ outFile.getParentFile().mkdirs(); } //上传 file.transferTo(outFile); //将上传的文件名保存数据库 DtoFileUpload files = new DtoFileUpload(); files.setSiteId(siteId); files.setPath(uploadPathDB); service.save(files); restResp.setRestStatus(StringUtil.isNull(outFile) ? ERestStatus.UNMATCH_RECORD : ERestStatus.SUCCESS); return restResp; } } catch (IOException e) { e.printStackTrace(); } return restResp.setMsg(“上传失败”); } /** * 文件下载 */ @ApiOperation(value = “文件下载”, notes = “文件下载”) @GetMapping(“/download”) public void download(String id, HttpServletResponse resp) throws IOException { DtoFileUpload file = service.findById(id);// String fileName=file.getSiteId(); String path=file.getPath(); String downPath=”F:/demo_upload/”+path; FileInputStream fileInputStream=new FileInputStream(downPath); ServletOutputStream outputStream = resp.getOutputStream(); IOUtils.copy(fileInputStream,outputStream); fileInputStream.close(); }

简单代码如上,可以直接套用,喜欢可以点个赞哦,谢谢

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年6月17日
下一篇 2022年6月17日

相关推荐

  • 如何写出同事看不懂的Java代码?

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处。 哈喽大家好啊,我是没更新就是在家忙着带娃的Hydra。 前几天,正巧赶上组里代码review,一下午下来,感觉整个人都血压拉…

    2022年6月22日
  • 有些事,一转身就是一辈子

    人生路上,感慨着生命的短暂,感慨着人事无常,更感慨着一些人,还未来得及告别,便转身天涯海角,或成永别。 有些人,来过,留下了痕迹,却不能抹去;有些事,过去了,就是过去了,无法挽回。…

    2022年7月7日
  • 唐国强夫妇“花式”穿搭,西装版型看似周正,但设计杂乱让人眼晕

    时尚的进步改变最大的一个单品就是西装,如今它男女“通吃”,并且版型也没有任何限制。而唐国强夫妇也没有抵御它的魅力,印花款式的西装打破了它的大气沉稳,让风格品读性变得更高。但同样的选…

    2022年7月14日
  • 软件国产化加速,这一方向或是最确定投资机会

    我国计算机软件国产化进程正在加速。 统计显示,我国软件业业务收入从2012年的约2.5万亿元增长至2021年的约9.5万亿元,年均增长率达16.1%,位居国民经济各行业前列;软件业…

    2022年6月16日
  • 林志玲下嫁小日子老公,今爆47岁状态太惊人,日本爱巢疑意外曝光

    “台湾首席模特”林志玲2019年嫁给日本老公令许多人惋惜。今年年初她生了一个儿子,现在的生活重心都放在了家庭上。除了继续公益活动,她最近推出新书,还拍摄视频进行宣传。不过,令人眼前…

    2022年6月7日
  • 无需接触就能获取所有的信息?苹果爆出的最新安全漏洞让人担忧

    使用苹果产品的网友们注意了。 8月20日,苹果又一次登顶微博热搜,只是不同的是,这次不再是炫耀它出色的性能,而是其被爆出的安全漏洞。 据报道,发现苹果手机等设备存在重大漏洞的,是一…

    2022年8月23日
  • 再见扫描仪!打开安卓手机这个隐藏功能,1秒将手稿电子化

    工作中,通常需要把重要会议报告整理成电子文件,可是扫描仪也不是随身携带,那要怎么办呢?如果你是安卓手机,打开安卓手机这个隐藏功能,1秒将手稿电子化。 1.手机备忘录扫描 首先我们打…

    2022年6月16日
  • 霸气励志个性签名简单,写给自己的励志签名短句

    霸气励志个性签名简单,写给自己的励志签名短句 只有自己足够强大,才不会被别人践踏。 世界上没有强大的敌人只有不够强大的自己。 成功的速度一定要超过父母老去的速度。 不去管别人质疑的…

    2022年7月5日
  • 系统方案 – 设计一个 URL 短链服务

    关注转发,不间断分享实战内容。 1. 为什么我们需要 URL 缩短? 短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。 使用场景 微博和Twit…

    2022年6月14日
  • 深入理解springboot的自动注入

    一、开篇   在平时的开发过程中用的最多的莫属springboot了,都知道springboot中有自动注入的功能,在面试过程中也会问到自动注入,你知道自动注入是怎么回事吗,spr…

    2022年6月27日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息