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)删除。
用户投稿
上一篇 2022年6月17日 13:19
下一篇 2022年6月17日 13:20

相关推荐

  • 科比19岁女儿遭自称与她生“科比式孩子”男子跟踪骚扰

    极目新闻记者王亮亮黄佳琪 据福克斯新闻网报道,当地时间11月21日,已故篮球巨星科比·布莱恩特的长女娜塔莉亚·布莱恩特21日向法院提交临时限制令,声称这位32岁的前科从十几岁起就骚…

    2022年11月24日
  • 免费清理c盘的软件(清理c盘空间不影响系统)

    电脑用久了慢如龟速,还卡顿,这最大的原因啊就是C盘空间不足造成的。 即使电脑配置再好,或者硬盘再快,如果长时间没有打扫C盘,打开文件或者稳定之类的,都卡得让人头大。 这时候呢不要去…

    2022年11月24日
  • 1千克等于多少磅

    克,此定义在1958年被美国以及其他英联邦会员国承认换算回来,一千克等于262磅,一磅等于037千克英国在1963年开始,依据度量衡法案的规;1 磅=16 盎司=04536 千克 …

    2022年11月24日
  • pdf虚拟打印机(添加pdf虚拟打印机)

    本文主要讲的是pdf虚拟打印机,以及和添加pdf虚拟打印机相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 pdf虚拟打印机具体是什么功能? 电脑虚拟打印机的功能有…

    2022年11月24日
  • 广州花都岭南批发地女装在哪拿货好(广州花都岭南批发地女装)

    广州的服装批发市场人气一直也都挺高的,不过很多商家第一次来广州进货,对于一些女装货源批发还不是很了解。广州花都岭南批发地女装在哪拿货好?现在广州服装货源批发哪里最便宜呢?今天小编整…

    2022年11月23日
  • 拼多多免费领商品有什么规则(拼多多免费领商品金币后面是什么)

    拼多多免费领商品活动相信不少小伙伴都参加过,吸引力还是很大的,只要砍价成功就可以免费领到商品,一些小伙伴第一次参加不知道拼多多免费领商品有什么规则?下面小编为大家带来拼多多免费领商…

    2022年11月21日
  • 马斯克凌晨一点半晒“代码审查”现场,编排他的段子比疯狂星期四还多

    梦晨 Pine 发自 凹非寺 量子位 | 公众号 QbitAI 每一个真正会写代码的人,请在下午2点到总部10层报到。 每一个真正会写代码的人,请在下午2点到总部10层报到。 马斯…

    2022年11月21日
  • ftp端口号(ftp端口号可以自定义吗)

    FTP端口号是21在FTP服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户但是,这个账户有个特点,就是其只能够访问自己的主目录服务器通过这种方式来保障FTP服务上其他…

    2022年11月21日
  • 给手机安装了Windows 11(手机上玩电脑游戏的软件)

    电脑上体验了一番Windows 11 ,感觉怎么样?接下来想要在手机上尝试尝试吗?不是远程桌面,也并不是虚拟机,而是手机直接运行原生的win11系统! 那么最近小编就看到网上不少朋…

    2022年11月18日
  • 手淘搜索是自然流量吗(手淘搜索流量怎么提高)

    作为一个卖家,我们都应该知道,现在店铺的流量大部分来自移动端,也就是我们说的手机端流量。随着智能手机的发展及网速的提升,手机购物已成为常态。而淘宝也一直尝试着从一个购物平台往社交平…

    2022年11月18日

联系我们

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