如何做动态下载链接

本文关键字:链接 下载 动态 何做 | 更新日期: 2023-09-27 18:21:54

这可能不是问这个问题的正确标题,因为当我搜索时,它给出了下载的动态URL的结果。那不是我想要的。。。(至少我认为不是)

我的问题是,我需要动态创建一个列表,比如时事通讯,该列表是使用C#代码和Response.Write()中的循环创建的。来源来自一个数据库,该数据库只包含时事通讯的位置来源、日期和名称。代码的基本输出是:

|News Letters
|Date:       |Name:        |View button: |Download link:  |
|7/01/2013   |June News    |   [View]    |   [Download]   |
|8/01/2013   |July News    |   [View]    |   [Download]   |

或多或少。。。该表是在循环中生成的,因此它可以是任何长度。

我该如何为每封单独的新闻信实现下载?HTML代码只是使用一个普通的表,视图按钮是指向souce的href链接。

如何做动态下载链接

我不是100%了解如何返回信息,但这需要一个SqlDataReader,并将数据读取器响应中的每一行添加到表中的新行中,并构建一个HTML字符串。

StringBuilder sb = new StringBuilder();
        sb.Append("<table><th>Date</th><th>Name</th><th>View</th><th>Download</th>");

        while (sqlDataReader.Read())
        {
            sb.Append(string.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td><a href='{3}' download>Download</a></td></tr>", sqlDataReader["Date"], sqlDataReader["Name"],
                          sqlDataReader["LocationSource"], sqlDataReader["LocationSource"]));
        }
        sb.Append("</table>");
        return sb.ToString();

我做了一个小小的调整,注意到我把下载放在了链接标签里。这是一个HTML5功能,它将强制下载而不是在浏览器中打开,更多信息请点击此处强制浏览器在单击链接后将文件另存为

如果您使用的是HTML5,您可以在href链接的末尾添加单词"download"。

<a href="link to newsletter.pdf" download>Download link</a>

这将强制下载,而不是像往常一样打开pdf。

祝你好运!