0

私はMailを私に追加しましたAzureテーブルストレージ。メールが...私はthis articleを読んでいAzureテーブルストレージに複数のファイル(添付ファイル)を保存

をいくつかの添付ファイルを持っている、とロジックを理解しようと、Azureのテーブルに私はおそらく私が対応するViewModelに持っていると言うbyte[]

public class Mail { 
    string Subject {get; set;} 
    byte[] Attachments {get; set;} 
} 

として添付ファイルを保存する必要があります必要があります。

public class MailEditViewModel { 
    string Subject {get; set;} 
    List<IFromFile> Attachments {get; set;} 
} 
  • どのように今私はbyte[]List<IFromFile>に、またその逆を変換する必要がありますか?

私は、単一のファイルのための商品コードがあります。

[HttpPost] 
[AllowAnonymous] 
[ValidateAntiForgeryToken] 
public async Task<IActionResult> Edit(MailViewModel model) 
{ 
    ViewData["ReturnUrl"] = returnUrl; 
    if (ModelState.IsValid) 
    { 
     var user = new Mail { 
      Subject = model.Subject 
     }; 
     using (var memoryStream = new MemoryStream()) 
     { 
      // ?? await model.Attachments.CopyToAsync(memoryStream); 
      // ?? user.AvatarImage = memoryStream.ToArray(); 
     } 
  • はAzureTable byte[]複数のファイルに維持する方法はありますか?

答えて

3

Azureに添付ファイルを保存しないでください。ストレージ。

テーブルエンティティの最大サイズis 1MB(属性値(値だけでなく))。

Azureを使用ブロブファイルを格納するためのストレージ。

+0

テーブルストレージのメールレコードをBlobにリンクすることはできますか? Azure File Storageもあります...添付ファイル(単語、Excel、pdfファイルなど)のBlobまたはFileの格納場所を理解するのに少し複雑です... – Serge

+0

また、私は 'byte []' AzureTableフィールドのサイズは最大64 KBです。 – Serge

+1

ファイル本体をBlob(ランダム/ユニークな名前で)に保存し、blobファイル名/パスをTable属性に入れることができます。 – Dmitry

関連する問題