我有一个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>
答案 0 :(得分:0)
您的页面上没有您需要添加标题,它是资源本身。该页面只有一个指向该资源的链接。当用户点击链接时,将会有第二个文件请求。第二个请求,即文件本身的请求,是需要额外标头的请求。
您可以通过从自定义操作提供该标头来添加该标头,也可以编写一个过滤器,在看到该文件的请求时添加标头。
最后,小细节:你对T方法的使用似乎没有多大意义。 T用于本地化,我很难理解为什么文件扩展名必须因文化而异...