开发者社区> 问答> 正文

PostObject表单上传,上传后的图片不能直接预览

<Error>
  <Code>AccessDenied</Code>
  <Message>You are denied by bucket referer policy.</Message>
  <RequestId>580DC1EE660FAAE75BC38DB9</RequestId>


这是提示的错误信息。
但是把地址直接放在浏览器地址栏中是可以访问的。

展开
收起
慕容若湘 2016-10-24 15:52:21 9724 0
5 条回答
写回答
取消 提交回答
  • 问题原因

    报错原因是该Bucket设置了防盗链,而请求该URL的时候携带的Referer不符合防盗链的设置,可能的原因如下:

    • Referer为空,请求Header中没有Referer字段或者Referer字段为空。

    • Referer不在规定的Referer范围内或者格式错误。

    本回答引用自以下KB文档:设置OSS防盗链后访问OSS资源出现“You are denied by bucket referer policy”错误

    更多帮助请访问以下站点:

    2021-08-31 17:37:53
    赞同 展开评论 打赏
  • Alibaba Cloud OSS SDK/Tools Developer
    RePostObject表单上传,上传后的图片不能直接预览
    报You are denied by bucket referer policy.错误的原因是,Referer配置问题, 修改方法请参看 https://help.aliyun.com/document_detail/44198.html?spm=5176.doc31867.6.203.8LVVPR
    2016-10-25 09:57:54
    赞同 展开评论 打赏
  • 回 4楼(慕容若湘) 的帖子
    关于第二个问题,请参考oss基本概念: https://help.aliyun.com/document_detail/31827.html

    ps:OSS提供了丰富的文档(手册,用户指南等),大家多看看哈
    2016-10-24 20:51:04
    赞同 展开评论 打赏
  • 回 2楼newegg11的帖子
    应该不是这个问题,因为之前使用的是java的PutObject,上传到同样的文件夹,这个时候是可以访问的。
    现在使用PostObject,就不能访问了。

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

    回 1楼newegg11的帖子
    不好意思哈。
    关于第一个问题,是由于路径使用的是JAVA的File.separator,导致路径出现的是右斜杠("\"),所以没有到指定的文件夹。

    第二个问题,我对于bucket的定义不是很明确,是每一个bucket都有对应的host地址吗?还是同一个地址对应多个bucket?
    2016-10-24 16:50:04
    赞同 展开评论 打赏
  • Re:PostObject表单上传,怎样上传到指定的文件夹?

        解释一下你的第一个问题:   比如key携带文件夹,结果是整个key成了Object的名称。?

        OSS中文件夹的概念仅是一个逻辑概念,例如,定义object的key为abc/1.jpg就会在该bucket下创建一个abc的文件夹,而在文件夹下即会有一个1.jpg的文件。。  


           OSS中的文件夹其实是一个大小问0KB的空文件。因此,用户显示创建一个key值为1/的object就会定义文件夹1;并且如果用户创建文件abc/1.jpg,系统是不会创建abc/这个文件的,因此在删除abc/1.jpg后将不会在存在abc这个文件夹。

           由于OSS采用的是分布式存储的方式,object并不是根据文件夹进行物理存储的;也就是说并不是一个文件夹下的所有的文件都会存储在一起的。在后端存储的过程中不同的文件夹的文件仅仅是key值的前缀是不一致的。因此这种架构下就会导致无法很方便的统计某个文件夹下的汇总信息:文件夹大小、文件夹PV数等。而想要遍历某个文件夹下的所有的文件也需要首先通过ListObject接口获取文件夹下的所有文件的key值(这里需要通过prefix指定文件夹),然后在进行操作。

      
    第二个问题:关于bucket的一个问题,我现在有两个bucket,在参数中携带bucket属性,结果根本没有变化?

    请具体描述一下可以吗?  携带哪些参数?您是如何使用的,  方便我们判断问题的原因。谢谢
      

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

    这个报错提示~  由于您设置的refere 白名单,所有 在非refere来源下,提示不可访问。

    您可以登录 控制台- OSS的Bucket属性管理  检查 “防盗链”的配置

    2016-10-24 16:14:31
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载