このコード フラグメントは、写真を 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);