Yii2接入AWS S3管理附件(私有附件)

概述

前两篇文章Yii2接入AWS S3管理附件(基础使用)Yii2接入AWS S3管理附件(分片上传)已经讲述了Yii2通过接入AWS S3管理附件的两种上传方式。在项目中,可能还会有另外一种需求,就是我们上传到s3的附件不希望所有人都能看到。同时,又希望我们指定的人可以正常访问,毕竟我们放在s3的附件是需要访问的,如果所有人都不能看,那也就没有必要放上去了~对吧。相信细心的同学肯定主要到了我们在SingleUpload()和MultipartUpload()这两个方法中都有一个参数ACL,没错我们通过配置该参数指定附件是公开的还是私有的。

通过ACL控制附件访问

ACl又两个值"public-read"和"private",分别对应"公开"和"私有"。所以很简单,只需要根据不同的情况给ACL传入不同的值就可以了。但我们需要考虑如何修改附件的访问权限呢?本来一个附件我们上传时是公开的,现在我们想改成私有了。这就需要在我们创建的s3Attachment组件中增加PutObjectAcl()方法,用来控制附件的访问。

/*
 * 修改附件访问权限
 *
 * @param string $key 附件公网访问地址.
 */
public function PutObjectAcl($key, $acl)
{
   
    if(empty($key) || empty($acl)){
   
        return false;
    }

    try{
   

        $config = [
            'region' => Yii::$app->params['S3']['region'],
            'version' => Yii::$app->params['S3']['version'],
            'credentials' 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值