繁体   English   中英

迅速将文本文件下载给用户-API Controller C#

[英]Prompt Download of Text File to User - API Controller C#

因此,我试图提示将服务器上的文本文件下载到用户的计算机。 我一直在搜索并失败了几个小时,现在希望可以从这里提出一些帮助。

该函数位于ApiController中。

public class LogViewerController : ApiController

这是调用的函数。

public void Get()
    {
        try
        {
            string path = @"C:\TestDocument.txt";

            var context = HttpContext.Current;
            context.Response.Clear();
            context.Response.ContentType = "application/octet-stream";
            context.Response.AddHeader("Content-Disposition", "attachment; filename="Test");

            context.Response.WriteFile(path);

            context.Response.End();
        }
        catch (Exception e)
        {
            //
        }
    }

我希望它在路径中获取文件,然后询问用户是否要下载/保存文件。 但是,这没有发生。 正在读取文件,但是输出只是打印到“ #textField”中,而不是下载。

这是Javascript / ajax方面:

$.ajax({
        cache: false,
        type: 'GET',
        url: '@ViewBag.servicesUrl/LogViewer',
        datatype: 'JSON',
        success: function (retdata) {
            $('#textField').html(retdata);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            //
        },
    });

对于导致问题的原因,我完全感到困惑。 与Get中的内容有关吗?

请让我知道是否需要添加任何内容来澄清,这是我第一次问问题。 感谢您的任何帮助!

与其使用AJAX进行文件下载,不如提供一个指向控制器路由/ URL的链接,该链接将运行您已经拥有的相同基本服务器代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM