下载带有动态文本的 html 文本文件

本文关键字:文本 文件 html 动态 下载 | 更新日期: 2023-09-27 18:33:55

我正在尝试在网页上创建一个链接,单击该链接后应在客户端上下载/打开一个文本文件,其中包含我在运行时呈现的内容。在服务器端保存文件不是一种选择,因为文件的内容会根据我在网页上作为功能的用户过滤器而变化。

在我的页面.cshtml上,我有以下内容:

     $.ajax({
            type: "GET",
            url: 'Home/GetTable',
            contentType: "application/json; charset=utf-8",
            dataType: 'html',
            success: function (data) {
                $("#tab1").append(data.toString());
            },
            error: function (data, errorThrown) {
                alert(errorThrown);
            }
        });

控制器构造 HTML 代码并将其传递回视图。我的控制器代码如下:

public string GetTable()
        {
            string result = @" <tr>
            <th>Column1</th>
            <th>Column2</th>
            <th>Link</th>
        </tr>
        <tr>                
            <td>Data1</td>
            <td>Data2</td>
            <td><a download href=""file.txt"">Click me</a></td>
        </tr>";    
            Response.AddHeader("Content-Disposition", "Attachment;filename=targetFileName.txt");
            return result;
        }    

我无法继续在服务器上创建 file[X].txt,因为它的内容每次都会根据用户过滤器而更改,而我在代码中还有其他地方作为逻辑。另外,如果我一开始没有文件,我在哪里将数据作为文件的内容输入?

解决这个问题的最佳方法是什么?

下载带有动态文本的 html 文本文件

如果我理解正确,您需要动态生成某种文本文件并将其提供给用户。上次我尝试类似的东西时,我使用 PHP 函数生成该文件,然后将document.location.href设置为该文件,并有一个计划任务每天清除这些文件一次。