我该怎么强迫<a> links to files trigger download in the browser (and not open)</a>

时间:2013-07-31 05:51:16

标签: c# asp.net download anchor

我知道这可能是一个重复的问题,但我无法找到解决方案。

以下是我正在做的事情:我想创建一个页面,网站管理员可以上传文件并为每个文件做出描述,然后用户可以下载这些文件。我创建了一个{{1}的管理页面在fileupload中保存文件的控件。然后我创建了一个包含三列的数据库:1 - downloads/files 2 - downloadtitle 3 - downloadmain。管理员可以输入下载标题并下载每个文件的main(文件描述)。name列将自动填充上传文件的名称。 现在,这是我为下载页面所做的(使用后面的代码从数据库获取数据之后):

name

您可以了解页面如何形成上述代码(我不希望下载链接将用户重定向到另一个页面。我希望用户只需单击下载并下载文件!) 我使用的这个方法是使用doc文件,但它不适用于PDF文件!(Pdf文件将由浏览器打开而不是下载) 所以我想知道他们是否是按照我想要的方式做到这一点的方式?

2 个答案:

答案 0 :(得分:3)

据我所知,仅通过在<a>标签的href属性中设置一些特殊字符串是不可能的。

但是你可以通过asp.net linkbutton替换链接以及你调用以下方法的回发来获得你想要的行为:

public static void DownloadFile(string filename, string path)
{
    Response.ContentType = "application/unknown";
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename);
    Response.TransmitFile(path);
    Response.End();
}

path是要发送到客户端的文件的完整路径,filename是文件发送时应具有的名称(可以与原始名称不同)。

答案 1 :(得分:0)

使html超链接runat =“server”