Во-первых, в своем тесте я открываю ссылку на файл или загружаю ее на локальный компьютер, тип контента - поток Octet, однако они могут читать.
Ниже приведен мой код загрузки.
blob_service_client = BlobServiceClient.from_connection_string(connect_str)
container_name = 'test'
blob_name='nodejschinese.pdf'
download_file_path = os.path.join('D:', blob_name)
blob_client = blob_service_client.get_blob_client(container=container_name, blob=blob_name)
with open(download_file_path, "wb") as download_file:
download_file.write(blob_client.download_blob().readall())
Во-вторых, если вы хотите изменить тип содержимого при загрузке, вы можете добавить ContentSettings
в методе upload_blob
.
Ниже приведен мой код загрузки с ContentSettings
.
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient,ContentSettings
connect_str='connection string'
blob_service_client = BlobServiceClient.from_connection_string(connect_str)
container_name = 'test'
local_file_name='nodejs.pdf'
upload_file_path='E:\\nodejs.pdf'
blob_client = blob_service_client.get_blob_client(container=container_name, blob=local_file_name)
with open(upload_file_path, "rb") as data:
blob_client.upload_blob(data,content_settings=ContentSettings(content_type='application/pdf'))