开发者社区 问答 正文

OssClient创建object和客户端创建object有差别

我在web客户端,创建文件夹,然后上传文件,比如 创建文件夹 a,上传文件 b.jpg
通过 ListObjects 读取出来,会产生2条数据,分别是 a/ 和 a/b.jpg
但是通过 OssClient.PutObject("c/d.jpg") 创建的 object
通过 ListObjects 读取出来,就只有一条数据,是c/d.jpg
我想了一下,第一种方法确实创建了两次,但是第二次创建是在第一次的基础上进行的,并且 a 文件夹也不是一个空的文件夹,所以返回的第一条数据 a/ 我认为是不正确的,应该返回 a/b.jpg 才是正确的

展开
收起
sweetsxob 2014-08-17 18:00:19 6740 分享 版权
2 条回答
写回答
取消 提交回答
  • 回1楼deadbeef的帖子
    如果创建了 a,a 下面什么都没有,返回 a/ 没有问题,但是 a 下面又创建了 b,那再返回一个 a/ 是不是就不合适了,此时应该把 a/ 去掉而返回 a/b
    其实吧,就算返回了 a/ 也无所谓,反正我知道了这个问题,我肯定用 OssClient 创建 object 。肯定不用客户端,先创建文件夹,再上传文件这么笨笨的方式了,呵呵
    2014-08-21 00:14:54
    赞同 展开评论
  • ReOssClient创建object和客户端创建object有差别
    第一种创建方式实际上就是创建了两个Object,一个叫 a/ 一个叫 a/b.jpg,所以ListObjects 会返回两个Object。

    对于OSS来说,其实是没有“文件夹”这个概念的,比如说你可以创建 a/b/c/d.jpd 但是并不需要事先创建a/ a/b/ a/b/c
    2014-08-19 08:34:00
    赞同 展开评论
问答地址: