首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何允许自动打开下载任何文件类型

如何允许自动打开下载任何文件类型
EN

Stack Overflow用户
提问于 2016-08-20 22:39:49
回答 1查看 767关注 0票数 0

ASP.NET MVC 4应用程序将文件存储在数据库中并允许下载。

Postgres表dokumarh有两列

  • 文件名,文件名
  • 以文件内容作为二进制数据的内容。

应用程序允许从浏览器下载文件。下载的文件应打开该扩展名的默认OS应用程序。例如,doc表示word,xls用于excel,txt用于记事本等。

此特性是使用控制器实现的。

代码语言:javascript
复制
        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方法、数据库或库可以从文件扩展名中找到内容类型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 23:17:14

可以使用System.Web.MimeMapping的静态System.Web.MimeMapping方法返回文件名的MIME映射。该类包含一个包含所有已知扩展及其关联的MIME类型的私有字典。

例如

代码语言:javascript
复制
string fileName = "myfile.pdf";
string MineType = MimeMapping.GetMimeMapping(fileName); // returns "application/pdf"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39059316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档