开发者社区> 问答> 正文

请求oss中的资源,返回nosuchkey

我请求oss中的一个文件,返回:<Error>


<Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><RequestId>5695FCEB96F2DAD054086B9E</RequestId><HostId>rqntest.oss-cn-qingdao.aliyuncs.com</HostId><Key>crossdomain.xml</Key></Error>

但是在浏览器的地址栏里直接请求文件地址是可以打开的;

而且存储该文件的bucket是设置的公共读属性;

展开
收起
逍遥云鹤 2016-01-13 16:26:24 66137 0
4 条回答
写回答
取消 提交回答
  • Re请求oss中的资源,返回nosuchkey
    本地写都测试方法也是这个问题
    Code>NoSuchKey</Code>
      <Message>The specified key does not exist.</Message>
      <RequestId>5954D35D4*********AEFC4</RequestId>
      <HostId>buf***.oss-cn-zhangjiakou.aliyuncs.com</HostId>
      <Key>http://buf***.oss-cn-zhangjiakou.aliyuncs.com/test/%E4%B8%8D%E5%87%A1%E5%AD%A6%E9%99%A2.png</Key>

    为什么呢
    2017-06-29 18:39:46
    赞同 展开评论 打赏
  • 回 2楼(逍遥云鹤) 的帖子
    你再换个浏览器试试? 或者浏览器清除缓存再试下?我这边也是浏览器中拿不到

    -------------------------

    回 4楼(逍遥云鹤) 的帖子
    http://rqntest.oss-cn-qingdao.aliyuncs.com/courselesson/41/2016112055844-8c0aes.sw
    这个链接是可以打开的,但是你开头说访问有问题的不是这个链接。
    你开头访问的文件是crossdomain.xml 这个

    -------------------------

    回 6楼(逍遥云鹤) 的帖子
    找到原因了, 不是oss的问题, 这是flash的跨域传输数据的安全问题所引起的。解决方法是在远程根目录,即oss这个bucket的根目录下创建crossdomain.xml文件,允许跨于访问。
    具体操作可以参看 http://bbs.csdn.net/topics/360178113
    http://www.xuebuyuan.com/1246042.html
    2016-01-14 09:09:26
    赞同 展开评论 打赏
  • 回 1楼xgp的帖子
    不是浏览器的缓存,我有这个文件的地址,直接在浏览器的地址栏中请求确实可以打开。

    -------------------------

    回 3楼姜恒的帖子
    我可以的就是这个链接:

    http://rqntest.oss-cn-qingdao.aliyuncs.com/courselesson/41/2016112055844-8c0aes.swf

    你看看可以打开啊

    -------------------------

    回 5楼姜恒的帖子
    是这样的,我用的flexpaper插件,读取swf类型的文件进行展示,请求链接写的是文件的链接,但是在浏览器中调试报的却是<Key>crossdomain.xml</Key>这个,
    我觉得阿里云中的文件既然有链接,那么我通过flexpaper应该可以读到并且展示出来;

    其中flexpaper请求代码如下:
                      var fp = new FlexPaperViewer(    
                             'FlexPaperViewer',
                             'viewerPlaceHolder', { config : {
                             SwfFile : 'http://rqntest.oss-cn-qingdao.aliyuncs.com/courselesson/41/2016114104128-el51c9.swf'
                                                    //SwfFile : 'Paper.swf'
                                      
                          }});

    备注我的flexpaper可以读取本地的swf文件;

    -------------------------

    Re请求oss中的资源,返回nosuchkey
    就是这个问题,多谢姜恒 。

    -------------------------

    回 7楼姜恒的帖子
    已解决,感谢!
    2016-01-14 08:38:24
    赞同 展开评论 打赏
  • 阿里云对象存储(OSS)开发工程师
    我刚刚试过,在浏览器中是拿不到的,是不是你的浏览器中有缓存
    2016-01-13 17:18:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载