python - 上传到 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)
解决方案
查看代码here
,此方法的参数之一content_settings
是类型ContentSettings
。你可以content_type
在那里定义。
推荐阅读
- python-3.x - 如何翻译ui文件+几个问题
- azure-sdk-python - 无法对 KeyVault 进行身份验证 - 此链中没有凭据提供令牌
- javascript - 仅将新列表项添加到列表中
- python - 使用 RNN 生成 PyTorch 路径 - 混淆输入、输出、隐藏和批量大小
- common-lisp - 为什么当我创建一个类时找不到符号呢?
- javascript - 用于预订的 FiveThirtyEight 样式的文本脚注
- amazon-web-services - 不支持 SSM 安全参考:AWS::EC2::Instance/Metadata
- python - Pandas MultiIndex:对每个第一个索引使用相同的第二个索引
- python - 导入自定义模块
- typescript - 定义嵌套对象的类型 - TS