[dotnet核心MVC],我无法从字节数组中获取文件(字段存储到数据库中)。

时间:2016-12-22 10:56:24

标签: c# asp.net-mvc asp.net-core-mvc

我从数据库领域获取物理文件变得疯狂。我使用asp.net MVC项目(dotnet核心1.1)。感谢avance和快乐的Christams!

  

在我的控制器的某些部分:

public void Download(int id)
{
    downloadMyFile(_context.myTable.Find(id).MyBLOBField,
                _context.myTable.Find(id).MyFieldContentType, 
                _context.Richieste.Find(id).MyFieldOriginalFileName
     );
 }

public FileContentResult downloadMyFile(byte[] fileBytes, 
                                  string fileContent, string fileName)
{
            return File(fileBytes, fileContent, fileName);
}
  

我的观点:

<a asp-action="Download" asp-route-id="@Model.Id"> Download File</a>

**

  

我的笔记:

如果我使用它,可以工作:

public FileResult download()
        {
            var fileName = @"myRealFileNameStoredInTheServer.ext";
            var filepath = $"Downloads/{fileName}";
            byte[] fileBytes = System.IO.File.ReadAllBytes(filepath);
            return File(fileBytes, "application/x-msdownload", fileName);
        }

但是,当另一个阵列从另一个阵列不工作时,

我也尝试使用Response方法,但是我无法在ASPNET CORE重载的Response上找到BinaryWrite()...也没有使用MemoryStream! 你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

  

阅读Stephen Muecke的评论,了解我的观点   问题。

 public FileContentResult Download(int id)
 {
    return File(_context.myTable.Find(id).MyBLOBField,
                _context.myTable.Find(id).MyFieldContentType, 
                _context.Richieste.Find(id).MyFieldOriginalFileName
     );
 }