当前位置: 首页 > news >正文

有创意做网站找投资企业网站建设58同城

有创意做网站找投资,企业网站建设58同城,酒店网站建设的需求分析报告,如何制作建筑公司网站springboot 实现本地文件存储 实现过程 上传文件保存文件(本地磁盘)返回文件HTTP访问服务器路径给前端,进行效果展示 存储 服务端接收上传的目的是提供文件的访问服务,对于SpringBoot而言,其对静态资源访问提供了很…

springboot 实现本地文件存储


实现过程

  • 上传文件
  • 保存文件(本地磁盘)
  • 返回文件HTTP访问服务器路径给前端,进行效果展示

存储

  • 服务端接收上传的目的是提供文件的访问服务,对于SpringBoot而言,其对静态资源访问提供了很好的支持,使用其提供的基本默认配置可以满足开发需求,同时,又支持开发人员进行自定义配置。
    SpringBoot默认将 / 所有访问映射到以下目录:**
  • classpath:/META-INF/resources
  • classpath:/static
  • classpath:/public
  • classpath:/resources

SpringBoot默认会挨个从pubic、resources、static里面找是否存在相应的资源,如果有则直接返回。

问题

  • 如果都放在classpath目录下打包的文件就会很大
  • 代码与文件数据不能分开存储,就意味着文件数据的备份将变得复杂

解决方法

springboot提供了 spring.resources.static-locations 配置自定义静态文件的位置:
注:该配置有问题,在下面以解决

spring:web:resources:static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${demo.web.upload-path}
# 设置Http能访问的本地资源路径
demo:web:upload-path: D:/MineFile/zuoye/xm/equipment-management-system/qhjdata/
  • 配置 demo.web.upload-path 为与项目代码分离的静态资源路径,即:文件上传保存根路径
  • 配置 spring.web.resources.static-locations 除了带上SpringBoot默认的静态资源路径之外,加上file:${demo.web.upload-path}指向外部的文件资源上传路径,即:该路径下的静态资源可以直接对外提供HTTP访问服务
    /*** 本地上传* @param file* @param request* @return*/@RequestMapping("/file")public R fileSave(MultipartFile file, HttpServletRequest request) {if (file == null) {throw new RRException("参数为空");}// 在 uploadPath 文件夹中通过日期对上传的文件归类保存// 例如:/2022/02/22/df9a66f1-760b-4f95-9faf-b5a216966718.pngString format = sdf.format(new Date());File folder = new File(uploadPath + format);if (!folder.isDirectory()) {folder.mkdirs();}// 对上传的文件重命名, 避免文件重名String oldName = file.getOriginalFilename();String newName = UUID.randomUUID().toString()+ oldName.substring(oldName.lastIndexOf("."), oldName.length());try {// 文件保存file.transferTo(new File(folder, newName));// 添加日志输出logger.info("文件保存成功:" + folder.getPath() + File.separator + newName);// 返回上传文件的访问路径// 例如:http://localhost:9999/2022/02/22/df9a66f1-760b-4f95-9faf-b5a216966718.pngString filePath = request.getScheme() + "://" + request.getServerName()+ ":" + request.getServerPort() + request.getContextPath() + "/" + format + newName;return R.ok().put("filePath", filePath);} catch (IOException e) {throw new RRException("系统错误");}}

前端

参考:spring boot 整合 minio存储 【使用篇】
返回得到一个地址,即可访问
在这里插入图片描述

问题

  • 已解决
    由于该项目涉及token,访问链接报错
    在这里插入图片描述
    但我看网络里又有token

已解决

通过访问路径解决token问题

    <el-uploadclass="upload-demo"ref="upload"dragaction="#":on-change="handleChangeSelect":on-exceed="handleExceed":file-list="fileList":limit="1"multiple:auto-upload="false"><i class="el-icon-upload"></i><div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div><divclass="el-upload__tip"slot="tip">只能上传jpg/png文件,且不超过500kb</div><div class="el-upload__tip" slot="tip">访问路径:<a :href="`${filePath}?token=${token}`" target="_blank">点击跳转{{ filePath }}</a>
</div></el-upload>
创建token变量获取
this.token = this.$cookie.get('token')

访问路径404问题

修改yml配置文件
修改前

spring:web:resources:static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${demo.web.upload-path}

修改后

spring:resources:static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${demo.web.upload-path}
# 设置Http能访问的本地资源路径
demo:web:upload-path: D:/MineFile/zuoye/xm/equipment-management-system/qhjdata/

参考

SpringBoot实现本地文件存储及预览

http://www.yayakq.cn/news/566628/

相关文章:

  • 网站建设 英文wordpress 音乐站主题
  • 百度官网网站首页微信开发者工具怎么下载
  • 新河网站群晖 wordpress外网
  • 上海企业网站seo多少钱电子商务物流
  • 专业建设 教学成果奖网站西城h5网站建设
  • 一个网站的制作流程网络设计是什么工作
  • 成都医疗网站建设公司网站建设费如何入账
  • 自己建一个网站难吗素材库大全高清素材免费下载
  • 品牌网站建设目标怎么做像京东一样的网站
  • 石家庄城乡建设管理局网站栾城做网站
  • 互联网公司排名中国2022站长工具seo综合查询是什么意思
  • 品牌外贸网站建设网站服务器拒绝连接
  • 漳州网站建设公司推荐竹子林网站建设
  • 建立网站的步骤筝晃湖南岚鸿官网建设网站宽度最好是多少
  • 自动生成作文网站门户网站 费用
  • 苍南公司网站建设wordpress 制作微信小程序
  • 宁夏建设工程造价网站长沙网站排名
  • 网站建设与维护大作业外贸公司出口退税流程
  • 网站开发 xmind互联网最赚钱的行业
  • 机顶盒视频网站建设衣服网站建设策划书
  • 梁山手机网站建设武宁县建设工程招标公告门户网站
  • 站内优化怎么做中英文网站域名的区别
  • 做外贸网站有哪些做电商网站注意什么
  • php网站开发实例视频网店推广的目的是什么
  • 帮别人做网站被抓淮安做网站 卓越凯欣
  • 平安建设宣传音频免费下载网站哪些网站可以做ppt
  • 天辰建设网站公司装房和城乡建设部网站
  • 用源码怎么做网站海口网站建设联系方式
  • 做电子手抄报的网站推广普通话的文章
  • 一般什么企业需要建站天猫网站怎么做