前言:
目前兄弟们对“阿里云服务器操作系统怎么选择文件夹类型设置”可能比较讲究,姐妹们都想要了解一些“阿里云服务器操作系统怎么选择文件夹类型设置”的相关内容。那么小编同时在网摘上网罗了一些关于“阿里云服务器操作系统怎么选择文件夹类型设置””的相关文章,希望同学们能喜欢,我们快快来学习一下吧!一、背景
当前的项目中,文件管理使用的是阿里云的OSS。然后很大意的一点就是没有做文件分类管理(在一个总目录下)。于是就导致当前在文件管理及资源搜索时遇到很大阻力。
二、解决方案
进行文件分类管理:
① 每个模块分配单独文件件(如账单分配到bill)
② 二级目录细化到日期,文件细化到时间(/bill/20200306113726.jpg)
三、附上阿里OSS对文件夹的官方说明2.1、函数
上传Object一般使用putObject或者multipartUpload函数。例如文件名为123.jpg,那么ObjectName设置为123.jpg即可。
2.2、名称管理
在OSS中严格来说是没有文件夹的概念的,您在管理控制台看到的文件夹是为了方便管理,才以文件夹的方式显示出来。
实际上 abc/efg/123.jpg 这个路径的Object,以 / 为分隔符隔开放置,看起来就是在abc文件夹下的efg文件夹下放置的名为123.jgp
的一个文件。
2.3、组合说明
结合前两点,如果123.jgp要放在abc下显示,ObjectName参数设置为 abc/123.jpg
四、部分代码实现
try { ossClient = getOSSClient(); /* 生成图片名称 */ String originFileName = file.getOriginalFilename(); String suffix = originFileName.substring(originFileName.lastIndexOf(".")+1); String key = sdf.format(new Date())+"."+suffix; key = "bill/0306/" + key; /* 上传文件流 */ ossClient.putObject(bucketName, key ,file.getInputStream()); return getImgUrl(key); }catch (Exception e){ e.printStackTrace(); }finally { if(ossClient!=null){ ossClient.shutdown(); } }
Java
在写入KEY时根据规则动态创建KEY的属性值即可
五、实际效果如下
六、后续问题
历史数据处理暂未得出比较好的解决方案(应该有整库迁移的方案的)
1、历史数据按照当前规则修改
2、针对历史文件特殊处理
这个等待后续更新吧...