Azure blob:python实现上传图片功能

from azure.storage.blob import BlobServiceClient, ContentSettings

connect_str = "Default... 这里是你的连接字符串"


class Blob_connection_upload:
    def __init__(self, container_name, img_path, img_name):
        self.connect_str = connect_str
        self.BlobServiceClient = BlobServiceClient
        self.container_name = container_name
        self.img_path = img_path
        self.img_name = img_name

    def connection_blob(self):
        try:
            # 创建BlobServiceClient对象
            blob_service_client = self.BlobServiceClient.from_connection_string(self.connect_str)
            containers = blob_service_client.list_containers()
            container_name_list = []
            # 先判断有无该container,若无则创建
            for i in containers:
                container_name_list.append(i["name"])
            if self.container_name not in container_name_list:
                print(self.container_name)
                blob_service_client.create_container(self.container_name)
            # Blob客户端
            blob_client = blob_service_client.get_container_client(container=self.container_name)
            # 上传文件
            with open(self.img_path, "rb") as data:
                blob_client.upload_blob(name=self.img_name, data=data, overwrite=True,
                                        content_settings=ContentSettings(content_type="image/jpeg"))
            # 获取该图片的blob-url
            blob_url_client = blob_client.get_blob_client(self.img_name)
            blob_url = blob_url_client.url
            return blob_url
        except Exception as e:
            raise e


if __name__ == '__main__':
    container_name = 'xr-ceshi'
    img_path = "D:/common_method/files/backup/a.jpg"
    da_kuang_pic_path = "aaa.jpg"
    blob_da_kuang_pic_url = Blob_connection_upload(container_name, img_path, da_kuang_pic_path).connection_blob()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值