此代码片段基于将照片推送到 blob 存储的生产应用程序。这种方法直接从 HttpPostedFile 中提取流并将其直接传递给客户端库以存储到 blob 中。您应该根据您的应用程序改变一些事情:
- blobName 可能需要适应。
- 直到获取 blob 客户端的连接字符串应该被隔离到辅助类中
- 同样,您可能需要基于您的业务逻辑的 blob 容器的帮助程序
- 您可能不希望容器完全可公开访问。这只是为了向您展示如何执行此操作,如果您愿意的话
// assuming HttpPostedFile is in a variable called postedFile
var contentType = postedFile.ContentType;
var streamContents = postedFile.InputStream;
var blobName = postedFile.FileName
var connectionString = CloudConfigurationManager.GetSetting("YOURSTORAGEACCOUNT_CONNECTIONSTRING");
var storageAccount = CloudStorageAccount.Parse(connectionString);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("YOURCONTAINERNAME");
container.CreateIfNotExist();
container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });
var blob = container.GetBlobReference(blobName);
blob.Properties.ContentType = contentType;
blob.UploadFromStream(streamContents);