【问题标题】:Download text file in html with dynamic text下载带有动态文本的 html 文本文件
【发布时间】:2016-02-10 07:06:12
【问题描述】:

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

在我的 page.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,因为它的内容每次都会根据用户的过滤器而变化,而我在代码中还有其他逻辑。另外,如果我一开始没有文件,我应该在哪里输入我的数据作为文件的内容?

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

【问题讨论】:

    标签: javascript c# jquery html razor


    【解决方案1】:

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

    【讨论】:

    • 我根本不想在服务器上创建文本文件。我正在寻找不涉及任何服务器端文件创建的解决方法。
    猜你喜欢
    • 2019-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 2019-05-21
    • 2018-11-26
    相关资源
    最近更新 更多