I know how to save Streams, but I want to take that stream and create thumbnails and other sized images, but I don't know how to save a byte[] to the Azure Blob Storage.
This is what I'm doing now to save the Stream:
// Retrieve reference to a blob named "myblob".
CloudBlockBlob _blockBlob = container.GetBlockBlobReference("SampleImage.jpg");
// upload from Stream object during file upload
blockBlob.UploadFromStream(stream);
// But what about pushing a byte[] array? I want to thumbnail and do some image manipulation
This used to be in the Storage Client library (version 1.7 for sure) - but they removed it in version 2.0
"All upload and download methods are now stream based, the FromFile, ByteArray, Text overloads have been removed."
Creating a read-only memory stream around the byte array is pretty lightweight though:
byte[] data = new byte[] { 1, 2, 3 };
using(var stream = new MemoryStream(data, writable: false)) {
blockBlob.UploadFromStream(stream);
}
MSDN documentation - from what I can tell in the source code, this came back for version 3.0 and is still there for version 4.0.