ASP.NET MVC 4应用程序将文件存储在数据库中并允许下载。
Postgres表dokumarh有两列
应用程序允许从浏览器下载文件。下载的文件应打开该扩展名的默认OS应用程序。例如,doc表示word,xls用于excel,txt用于记事本等。
此特性是使用控制器实现的。
public FileStreamResult ShowDocument(string filename)
{
var manus = Db.QuerySingle(@"
select filename, content
from dokumarh
where filename=@0
", filename);
return new FileStreamResult(new MemoryStream(manus.content), "???")
{
FileDownloadName = manus.filename
};
}MVC文件结果要求发送参数和内容类型标记为“??”
在上传过程中,只有文件名可用;没有内容类型。
如何指定适当的内容类型?或者,是否可以只返回文件名而不指定内容类型?或者是否有一个MVC方法、数据库或库可以从文件扩展名中找到内容类型?
发布于 2016-08-22 23:17:14
可以使用System.Web.MimeMapping的静态System.Web.MimeMapping方法返回文件名的MIME映射。该类包含一个包含所有已知扩展及其关联的MIME类型的私有字典。
例如
string fileName = "myfile.pdf";
string MineType = MimeMapping.GetMimeMapping(fileName); // returns "application/pdf"https://stackoverflow.com/questions/39059316
复制相似问题