在Azure表存储中存储多个文件(附件)

时间:2017-08-23 15:43:01

标签: asp.net asp.net-core azure-table-storage asp.net-core-1.1

我添加了一些Mail Azure表存储。邮件应该有一些附件......

我正在阅读this article,并尝试理解逻辑,在Azure表中我应该将附件存储为byte[]

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

说我有一个相应的ViewModel:

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[]多个文件?

1 个答案:

答案 0 :(得分:3)

不要将附件保存到Azure 存储。

表实体is 1MB的最大大小,包括属性名称(不仅仅是值)。

使用Azure Blob 存储来存储文件。