storage.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:django-buckets 作者: Cadasta 项目源码 文件源码
def get_signed_url(self, key):
        dir = ''
        if '/' in key:
            dir = key[:key.rfind('/') + 1]

        ext = key[key.rfind('.'):]
        s3_key = ''

        while not s3_key:
            temp_key = dir + random_id() + ext

            if not self.exists(temp_key):
                s3_key = temp_key

        condtions = []
        if self.max_size:
            condtions.append(["content-length-range", 0, self.max_size])

        params = {
            'Bucket': self.bucket_name,
            'Key': s3_key,
            'Conditions': condtions
        }
        client = boto3.client(
            's3',
            aws_access_key_id=self.access_key,
            aws_secret_access_key=self.secret_key,
            region_name=self.region,
            config=Config(signature_version='s3v4')
        )

        return client.generate_presigned_post(**params)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号