0

我在我的 Web 服务器上托管文件,我希望最终用户能够在他们的机器上下载此文件的副本以打开和查看。我目前有一个通过 foreach 循环填充的列表,并且通过循环的每次迭代都是一个 @Html.ActionLink("blahblahblah")。有没有办法在操作链接点击下载文件?

4

3 回答 3

3

单击链接确实会下载文件...如果文件是 HTML,则浏览器会下载它并在浏览器中显示它;如果它是其他东西(如 EXE),则浏览器会将其下载到文件系统。

于 2012-04-30T18:50:17.880 回答
0

而不是使用Html.ActionLinkUrl.Content与您希望他们下载的文件的(应用程序相对)路径一起使用。 ActionLink用于生成指向控制器上操作的href,而不是应用程序中的原始文件。

于 2012-04-30T18:53:00.910 回答
0

这些文件是否向公众开放?有限制之类的吗?为什么不只是简单的静态链接到这些文件。

动作链接只创建将被路由到特定控制器和动作的链接。

如果您需要保护这些文件,则可以在控制器的相应操作中添加代码。此操作将从文件中读取字节并将其转储到响应中。您必须向浏览器添加标头才能识别 mime 类型并显示下载对话框或相应地呈现内容。

选中此项 在 ASP.NET MVC 中返回文件以查看/下载

于 2012-04-30T18:53:37.770 回答