网站有限公司免费,用ps切片做网站,网络营销策略分析论文,做网站有2个前提条件_一个是网站笔者计划为大家介绍分布式文件系统#xff0c;用于存储应用的图片、word、excel、pdf等文件。在开始介绍分布式文件系统之前#xff0c;为大家介绍一下使用本机存储来存放文件资源。二者的核心实现过程是一样的#xff1a;上传文件#xff0c;保存文件(本节是本地磁盘)返回…笔者计划为大家介绍分布式文件系统用于存储应用的图片、word、excel、pdf等文件。在开始介绍分布式文件系统之前为大家介绍一下使用本机存储来存放文件资源。二者的核心实现过程是一样的上传文件保存文件(本节是本地磁盘)返回文件HTTP访问服务路径给前端进行上传之后的效果展示一、复习服务端接收上传的目的是提供文件的访问服务那么对于SpringBoot而言有哪些可以提供文件访问的静态资源目录呢classpath:/META-INF/resources/classpath:/static/classpath:/public/classpath:/resources/这是之前我们为大家介绍的内容从这里看出这里的静态资源都在classpath下。那么就出现问题应用的文件资源不能和项目代码分开存储(你见过往github上传代码还附带项目文件数据的么)项目打包困难当上传的文件越来越多项目的打包jar越来越大。代码与文件数据不能分开存储就意味着文件数据的备份将变得复杂二、文件上传目录自定义配置怎么解决上述问题?别忘记了spring boot 为我们提供了 使用 spring.resources.static-locations 配置自定义静态文件的位置。web: upload-path: D:/data/spring: resources: static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}web.upload-pathspring.resources.static-locations三、文件上传的Controller实现详情看代码注释RestControllerpublic class FileUploadController { //绑定文件上传路径到uploadPath Value(${web.upload-path}) private String uploadPath; SimpleDateFormat sdf new SimpleDateFormat(yyyy/MM/dd/); PostMapping(/upload) public String upload(MultipartFile uploadFile, HttpServletRequest request) { // 在 uploadPath 文件夹中通过日期对上传的文件归类保存 // 比如/2019/06/06/cf13891e-4b95-4000-81eb-b6d70ae44930.png String format sdf.format(new Date()); File folder new File(uploadPath format); if (!folder.isDirectory()) { folder.mkdirs(); } // 对上传的文件重命名避免文件重名 String oldName uploadFile.getOriginalFilename(); String newName UUID.randomUUID().toString() oldName.substring(oldName.lastIndexOf(.), oldName.length()); try { // 文件保存 uploadFile.transferTo(new File(folder, newName)); // 返回上传文件的访问路径 String filePath request.getScheme() :// request.getServerName() : request.getServerPort() format newName; return filePath; } catch (IOException e) { throw new CustomException(CustomExceptionType.SYSTEM_ERROR); } }}四、写一个模拟的文件上传页面进行测试把该upload.html文件放到classpath:public目录下对外提供访问。 Title 访问测试、点击“选择文件”之后保存文件被保存到服务端的 web.upload-path 指定的资源目录下浏览器端响应结果如下返回一个文件HTTP访问路径使用该HTTP访问路径在浏览器端访问效果如下。证明我们的文件已经成功上传到服务端以后需要访问该图片就通过这个HTTP URL就可以了。欢迎关注微信公众号慕容千语来源https://www.tuicool.com/articles/uq6JVzn