您现在的位置是:网站首页 > 心得技巧 > 编程技巧编程技巧

【原】OSS如何上传文件到Bucket下的子目录中

不忘初心 不忘初心 2019-09-23 围观() 评论() 点赞() 编程技巧

简介:在前面关于阿里云OSS的文章中,我提到了七牛云没有目录的概念,这也是我为什么想尝试一下阿里云OSS的原因,在这个尝试的过程中,也是一波三折,特意记录下来,以方便更多人避免踩坑。不知道为什么,在这些云服务商设计之初,貌似都没有考虑过目录的概念,按照阿里云OSS官方给出的说法,目录也相当于是一个文件,也就是说没有考虑过直接让你创建一个目录的需求,而且我翻阅SDK文档的时候,也确实没有找到创建目录的AP

在前面关于阿里云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/目录下,可以说是跟七牛云一模一样,只不过七牛云没有抽象出一个“目录”的概念,讲真,资源文件在加载访问的时候没有任何差异,但是在后台管理的时候,没有层级目录的概念,文件太多,真的是感觉一团糟。。。

oss

看完文章,有任何疑问,请加入群聊一起交流!!!

很赞哦! ()

文章评论

  • 请先说点什么
    人参与,条评论

请使用电脑浏览器访问本页面,使用手机浏览器访问本页面会导致下载文件异常!!!

雨落无影

关注上方公众号,回复关键字【下载】获取下载码

用完即删,每次下载需重新获取下载码

若出现下载不了的情况,请及时联系站长进行解决

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们