阿里云OSS如何上传文件到Bucket下的子目录中【转】
在前面关于阿里云OSS的文章中,我提到了七牛云没有目录的概念,这也是我为什么想尝试一下阿里云OSS的原因,在这个尝试的过程中,也是一波三折,特意记录下来,以方便更多人避免踩坑。
不知道为什么,在这些云服务商设计之初,貌似都没有考虑过目录的概念,按照阿里云OSS官方给出的说法,目录也相当于是一个文件,也就是说没有考虑过直接让你创建一个目录的需求,而且我翻阅SDK文档的时候,也确实没有找到创建目录的API,不知道是否我遗漏了什么重要的信息。。。
好了,闲话就扯到这里,直接进入主题:OSS如何上传文件到Bucket下的子目录中去?
![OSS如何上传文件到Bucket下的子目录中]
如上图,我创建了一个名为“wlkk”的存储桶,然后在这个桶下面创建了2级目录,/file/banner,此时如果想将文件上传至banner目录下,该怎么操作呢?
其实写法跟七牛云大同小异,都是在文件命名上做手脚,在上传时将key生成为带有目录层级的完整路径,不用担心路径中的文件夹不存在,如果没有的话,oss会自动帮你创建,如果文件夹存在,则直接将文件解析到此目录下。
// 读取磁盘文件
File file = new File("C:\\Users\\SongFei\\Desktop\\wlkk\\banner\\test.jpg");
// 上传文件至 /file/banner/ 目录下,file前面不用带斜杠
ossUtil.upload(file.getAbsolutePath(), "file/banner/" + file.getName());
上述代码就可以直接将test.jpg上传至/file/banner/目录下,可以说是跟七牛云一模一样,只不过七牛云没有抽象出一个“目录”的概念,讲真,资源文件在加载访问的时候没有任何差异,但是在后台管理的时候,没有层级目录的概念,文件太多,真的是感觉一团糟。。。
文章转自:https://www.jiweichengzhu.com/article/dcf007856ea5481dbacbef924eb49f5c