I am uploading a static site using the Azure Blob storage client library.
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)
This is working but the HTML file is downloading instead of displaying. This is because the content type is wrong: Content-Type: application/octet-stream
.
Is there any way to set this using upload_blob
?
Update:
To get this working, I needed this:
my_content_settings = ContentSettings(content_type='text/html')
blob_client.upload_blob(data, overwrite=True, content_settings=my_content_settings)
To change the content type property of all blobs inside a container, simply right click on the blob container and click on “Set Properties (All Blobs)…” context menu item and follow the same procedure as above.
Blob storage is optimized for storing massive amounts of unstructured data, such as text or binary data. Blob storage is ideal for: Serving images or documents directly to a browser. Storing files for distributed access.
Once the blob has been created, its type cannot be changed, and it can be updated only by using operations appropriate for that blob type, i.e., writing a block or list of blocks to a block blob, appending blocks to an append blob, and writing pages to a page blob.
The Blob object represents a blob, which is a file-like object of immutable, raw data; they can be read as text or binary data, or converted into a ReadableStream so its methods can be used for processing the data. Blobs can represent data that isn't necessarily in a JavaScript-native format.
Looking at the code here
, one of the parameters to this method is content_settings
which is of type ContentSettings
. You can define content_type
there.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With