Targeting Azure Storage: Listing 3: Add Blob from a Local File to the Container
The following code in the insertButton_Click event handler gets the local file properties and content and creates a blob with the file's properties and content. It then adds the blob to the current container and creates a log entry with the file spec and creation times. Blobs are named automatically with the UTC date and time as the filename and the source data type as the extension, as in 2009-05-20T21:36:13.9397311Z.bmp for a bitmap graphic.
// Get the file metadata and contents
// From the FileUpload control
properties.ContentType =
fileUploadControl.PostedFile.ContentType;
contentLength =
fileUploadControl.PostedFile.ContentLength;
fileBlob = new
BlobContents(fileUploadControl.FileBytes);
if (contentLength > 0)
{
// Add metadata to properties
properties.Metadata = metadata;
// Add the blob to the container
blobContainer.
CreateBlob(properties, fileBlob, true);
blobContainer.UpdateBlobMetadata(properties);
if (doWriteLogs)
{
string logEntry = properties.Name + ";" +
metadata["FileName"] + ";" +
properties.ContentType + ";" +
properties.ContentEncoding + ";" +
contentLength.ToString("#,##0") + ";" +
properties.LastModifiedTime + ";" +
metadata["UploadTime"] + ";" +
metadata["CreateTime"] + ";" +
metadata["Submitter"] + ";" +
DateTime.Now.ToString();
RoleManager.WriteToLog("Verbose", logEntry);
}
// Update the GridView
UpdateFileList();
}