当前位置: 首页 > 知识库问答 >
问题:

正在创建并返回FileContentResult,但没有下载任何文件[重复]

宋安晏
2023-03-14

我正在为ASP.NET核心web应用程序设计一个页面,该页面允许用户设计一个对象,并在按下按钮后为其下载json。为了做到这一点,该按钮使用jquery和ajax来点击以下控制器方法:

// GET: Missions/DownloadMission/5
[HttpGet, ActionName("DownloadMission")]
public FileContentResult DownloadMission(int id)
{
    Mission toDownload = db.Missions.Find(id);
    string json = JsonConvert.SerializeObject(toDownload);
    string fileName = (toDownload.Title + ".txt");
    string mimeType = "text/plain";
    byte[] bytes = Encoding.ASCII.GetBytes(json);
    return new FileContentResult(bytes, mimeType)
    {
        FileDownloadName = fileName
    };
}

我已经在多个浏览器(Chrome,Firefox,Edge,甚至IE)上测试了这一点,并关闭了所有的安全设置和阻止程序。这些变化都没有产生任何影响,所以我被难住了。

共有1个答案

石臻
2023-03-14

endpoint上提供的代码是正确的,但是为了实际下载文件,需要在Ajax/JS端进行处理;目前,它只是返回,什么也不做。

多个非常详细的参考资料可以在这里找到:句柄文件下载从ajax post

 类似资料:
  • 在常规MVC控制器中,我们可以使用输出pdf。 但是如何将其更改为呢? So上也有一篇类似的文章:在ASP.NET Web API中从控制器返回二进制文件。它讨论输出一个现有的文件。但我不能让它和溪流一起工作。 有什么建议吗?

  • 问题内容: 我正在研究Java ExtJS应用程序,需要在其中创建和下载CSV文件。 单击按钮后,我希望将CSV文件下载到客户端计算机上。 在按钮侦听器上,我正在使用AJAX调用servlet。在那里,我正在创建一个CSV文件。 我不希望将CSV文件保存在服务器中。我希望使用下载选项 动态 创建文件。我希望将文件的内容创建为字符串,然后将其作为 文件 提供,然后在浏览器中以下载模式打开该 文件 (

  • 我试图通过在本地服务器上创建zip文件来下载a 2文件。文件是以zip格式下载的,但当我试图解压缩它时。它给出了一个错误:找不到中央目录签名的结尾。要么该文件不是zip文件,要么它构成了多部分存档的一个磁盘。在后一种情况下,中心目录和zip文件注释将在该存档的最后一个磁盘上找到。 下面的代码我使用这个: 我检查了传递到函数中的所有变量的值,都很好。所以请看这个。提前谢谢。

  • 我有,,在默认端口(9000)上设置。而且我已经通过了几个论坛,所以页面和文档可以缓解这个问题,但没有效果。 我的网络应用程序的文件应该执行,但是所有其他的文件都被下载了,它似乎与我的重写规则有关,而不是快速过程管理器,但是我不能似乎在想。下面是我的site.conf

  • 我正在为Java企业应用程序类开发一个项目。我有一个带有ejb模块的应用程序,它有一个类库中的“facade”类,该类库连接到一个简单的类似Twitter的数据库。所有的逻辑都运行良好,但是,当我为facade添加远程bean并尝试运行它时,应用程序崩溃,最后包含堆栈跟踪。 通过查看GlassFish输出屏幕,我发现了以下警告: 警告: ACDEPL112:以下扩展或库引用自C:\用户[proje

  • 我试图允许用户下载一个CSV文件,其中包含由其操作定义的数据。该文件不存在,它是动态创建的。我怎么能在烧瓶里做这个?