-1

我将上传的文件内容保存为带有文件扩展名的字节数组在数据库中。我想使用返回任何类型文件的文件结果。我怎样才能实现它?

我尝试使用图像文件。我可以为所有类型做下面的代码吗?这行得通吗?

public ActionResult GetAttachmentById(int AttachmentId)
{
    try
    {
        byte[] AttachmentData = GetFromDatabase(AttachmentId);
        string FileExtension = GetExtensionFromDatabase(AttachmentId);
        return File(AttachmentData, FileExtension );
    }
    catch (Exception ex)
    {
        return File("", FileExtension);
    }
}
4

1 回答 1

1

您需要动态定义 Mimetype、文件名和扩展名。

然后从这样的操作中返回一个 File 对象:

string filename = "MyFile.txt"; // Make this dynamic from the actual file
byte[] filedata = System.IO.File.ReadAllBytes(filepath);
string contentType = MimeMapping.GetMimeMapping(filepath);

var contentDisposition = new System.Net.Mime.ContentDisposition
{
    FileName = filename,
    Inline = true
};
Response.AppendHeader("Content-Disposition", contentDisposition.ToString());

return File(filedata, contentType);
于 2019-04-29T15:37:47.957 回答