9

アップロードされたファイルを azure blob にバイナリで保存するコードを誰かが提供できますか? 私は現在、巨大なファイルで信じられないほど遅いテキスト保存を使用しており、行ごとに読み取り/ blob に保存しています。

Private Function ReadFile(ByVal file As HttpPostedFile) As String
        Dim result As String = ""
        Dim objReader As New System.IO.StreamReader(file.InputStream)
        Do While objReader.Peek() <> -1
            result = result & objReader.ReadLine() & vbNewLine
        Loop
        Return result
    End Function

ありがとう

4

2 に答える 2

9

このコード フラグメントは、写真を 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);
于 2012-08-11T21:06:51.233 に答える