从ASP.Net MVC View下载vcf文件

时间:2014-05-19 17:46:36

标签: asp.net-mvc

我有一个MVC视图,其中包含我希望用户下载的.vcf文件的链接。 问题是当我在移动设备上浏览网站时,它会显示该文件而不会下载它。

我尝试在视图顶部添加一个响应标题,但它会在页面加载时自动下载,而不是单击下载链接。

@{
var tag = Tag(Model, "div");
Response.AddHeader("Content-Disposition", "attachment;filename=" + item.Agents.AutoroutePart.Path + ".vcf");
}
<div><a href="~/themes/bootstrap/content/@item.Agents.AutoroutePart.Path@T(".vcf")">add</a></div>

1 个答案:

答案 0 :(得分:0)

您的页面上没有您需要添加标题,它是资源本身。该页面只有一个指向该资源的链接。当用户点击链接时,将会有第二个文件请求。第二个请求,即文件本身的请求,是需要额外标头的请求。

您可以通过从自定义操作提供该标头来添加该标头,也可以编写一个过滤器,在看到该文件的请求时添加标头。

最后,小细节:你对T方法的使用似乎没有多大意义。 T用于本地化,我很难理解为什么文件扩展名必须因文化而异...