gpt4 book ai didi

c# - 提示用户下载文本文件 - API Controller C#

转载 作者:行者123 更新时间:2023-11-28 08:07:55 25 4
gpt4 key购买 nike

所以我试图提示将服务器上的文本文件下载到用户的计算机上。我已经搜索了几个小时但失败了,现在希望我能从这里询问得到一些帮助。

该函数位于 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 进行文件下载,只需提供一个指向 Controller 路由/url 的链接,该 Controller 将运行您已有的相同基本服务器代码。

关于c# - 提示用户下载文本文件 - API Controller C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24617986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com