首页 > 解决方案 > 上传到 Azure Blob 存储时设置内容类型

问题描述

我正在使用 Azure Blob 存储客户端库上传静态站点。

        blob_service_client = BlobServiceClient.from_connection_string(az_string)
        blob_client = blob_service_client.get_blob_client(container=container_name, blob=local_file_name)
        print("\nUploading to Azure Storage as blob:\n\t" + local_file_name)

        with open('populated.html', "rb") as data:
            test = blob_client.upload_blob(data, overwrite=True)

这是有效的,但 HTML 文件正在下载而不是显示。这是因为内容类型错误:Content-Type: application/octet-stream.

有没有办法设置这个使用upload_blob

更新:

为了让它工作,我需要这个:


my_content_settings = ContentSettings(content_type='text/html')
blob_client.upload_blob(data, overwrite=True, content_settings=my_content_settings)

标签: pythonazureazure-storageazure-blob-storage

解决方案


查看代码here,此方法的参数之一content_settings是类型ContentSettings。你可以content_type在那里定义。


推荐阅读