Download file of any type in Asp.Net MVC using FileResult?

后端 未结 9 1872
没有蜡笔的小新
没有蜡笔的小新 2020-11-22 05:05

I\'ve had it suggested to me that I should use FileResult to allow users to download files from my Asp.Net MVC application. But the only examples of this I can find always h

9条回答
  •  萌比男神i
    2020-11-22 05:29

    Thanks to Ian Henry!

    In case if you need to get file from MS SQL Server here is the solution.

    public FileResult DownloadDocument(string id)
            {
                if (!string.IsNullOrEmpty(id))
                {
                    try
                    {
                        var fileId = Guid.Parse(id);
    
                        var myFile = AppModel.MyFiles.SingleOrDefault(x => x.Id == fileId);
    
                        if (myFile != null)
                        {
                            byte[] fileBytes = myFile.FileData;
                            return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, myFile.FileName);
                        }
                    }
                    catch
                    {
                    }
                }
    
                return null;
            }
    

    Where AppModel is EntityFramework model and MyFiles presents table in your database. FileData is varbinary(MAX) in MyFiles table.

提交回复
热议问题