如何在文件下载时提示“另存为”对话框

2023-12-12

我试图在下载文件时提示“另存为”对话框,但我得到的是,或者文件正在浏览器上打开,或者下载文件时没有提示保存位置和保存名称。

我的控制器的代码:

public FileContentResult Save(string text)
{         
    string contentType = "application/octet-stream";
    Response.AppendHeader("Content-Disposition", "attachment; filename=outname.txt"); //EDIT
    return File(Encoding.ASCII.GetBytes(text), contentType, "outname.txt");
}

我尝试了 FileResult/ActionResult、应用程序/文本等的不同变体。

客户端代码:

<html>
<body>

<script>
    function submitForm() {
        txt = document.getElementById("textFld");   
        form = document.getElementById("submitForm");   
        input = document.getElementById("messages").outerHTML;   
        txt.value = input;   
        form.submit();
    };
</script>

<table id="messages"> ... </table>

<form action="Home/Save" method="POST" id="submitForm">
    <input type="text" name="text" id="textFld">
</form>

<input type="button" id="submitBtn" onclick="submitForm()">

<script>
    subm = document.getElementById("submitBtn");
    subm.click();
</script>

</body>
</html>

原答案

您需要设置Content-Disposition标头至attachment在响应中指示浏览器保存文件。

新答案

看起来这是一个已知的 Chrome 问题:https://code.google.com/p/chromium/issues/detail?id=380652

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在文件下载时提示“另存为”对话框 的相关文章

  • ASP.NET Web api - 设置自定义 IIdentity 或 IPrincipal

    在我们的asp net mvc web api项目中 我们想要使用自定义授权AuthorizeAttribute 我们注意到有两种不同的AuthorizeAttribute 一于System Web MVCMVC 的命名空间和其他的命名空间
  • 用于动态视图数据/表单的 ASP.Net MVC 编辑器模板

    我正在实现一个 MVC3 Razor Web 应用程序 该应用程序检索用户可以从其他服务编辑的一些 字段 因此要在视图中编辑的属性列表是完全动态的并且在编译时未知 我编写了一些部分视图和 HTML 帮助程序 它们循环从其他服务检索到的组和属
  • 如何通过 jQuery 加载部分视图?

    我正在尝试使用 jQuery 加载部分视图 正在从 Contact cshtml 加载部分视图 然而 在 Chrome 中 当我尝试加载partialViewName cshtml 时 我不断收到 404 错误 我有以下文件夹结构 View
  • ASP.NET MVC 的验证选项有哪些

    net mvc 的验证选项有哪些 他们中的任何一个都有像 Webforms 那样的很好的验证摘要吗 您可以使用 MVC html 验证摘要 请参阅此博客 http blog maartenballiauw be post 2008 08 2
  • 在asp.net mvc中映射物理文件路径

    我正在尝试从 ASP Net MVC 控制器中的磁盘读取 XSLT 文件 我正在做的事情如下 string filepath HttpContext Request PhysicalApplicationPath filepath Cont
  • 无法确定“Npgsql.NpgsqlFactory”类型的提供程序工厂的提供程序名称

    我尝试运行一个测试项目 但没有成功 因为 npgsql 连接失败 我重新安装了 Npgsql Npgsql EntityFramework EntityFramwork 但问题仍然存在 结果消息 TestUserControl Contro
  • OnPostAuthenticateRequest 中的 HttpContext.Current.Session 为 null

    这是一个n00b问题 也许你可以帮忙 当我在Application OnPostAuthenticateRequest事件 我无法查看Session since HttpContext Current Session一片空白 这是空的原因吗
  • 如何禁用单个视图的客户端验证?

    我需要在单个视图上禁用表单的客户端验证 我该怎么做呢 我不想只禁用以下 JS 文件 Scripts jquery jquery validate min js type text javascript gt Scripts jquery j
  • 从另一名 Razor 助手中调用另一名 Razor 助手

    我需要创建 Razor 助手的第二个重载 并希望从另一个助手调用一个助手 使用一些特定参数 有没有办法实现呢 Sure using System Web Mvc using System Web Mvc Html public static
  • .Net Web API 抛出异常/返回响应/返回 404/400 响应的错误响应?

    我正在使用 net web api 开发一些宁静的 Web 服务 对于某些情况 我需要向客户端返回 404 NotFoundStatus 或 400 BadRequest 看起来框架中有很多方法可以做到这一点 下面列出一些我所知道的方法 是
  • Ajax.BeginForm 路由到新页面而不是部分视图

    我有一个 Ajax BeginForm 调用 它应该返回部分视图 但将页面重新路由到操作 关于哪里出了问题有什么想法吗 这是我想要在其上呈现部分视图的主页上的代码 div class col md 6 using Ajax BeginFor
  • 如何使用 Autofac 为 MVC 3 进行动作注入?

    我正在创建一个 ASP NET MVC 3 应用程序 尝试利用控制器操作注入 如上所述here http alexmg com post 2010 05 16 Introducing Action Injection with Autofa
  • 使用 asp.net MVC 拖放上传到 aws s3

    我在我正在处理的基本 mvc 项目上上传文件时遇到一些问题 我有一个拖 放功能 我想连接到 aws s3 我可以使用当前应用程序将文件放入本地文件夹中 并按照此处的步骤操作 gt 使用 c Sharp 将文件上传到亚马逊 s3 非常简单 h
  • TFS 和引用的 DLL

    我们使用的是 TFS 和 VS 2010 我一直在从事一个使用 TFS 作为源代码控制的项目 我已经下载了相当多的 dll 例如 log4net 并在我的项目中引用 当一个新程序员连接到 TFS 并使我的项目脱离源代码控制时 它无法构建 因
  • 如何将 Stripe 支付网关集成到 ASP.NET MVC

    我想整合条纹PSP https stripe com 到我的 ASP NET MVC 应用程序中 在你用寻找具有相同问题的问题来折磨我之前 我确实寻找过上述问题 但它们似乎已经过时了 我尝试按照 stripe 网站上的程序进行操作 但 ja
  • 如何在 Nhibernate 中进行版本控制?

    我不敢相信让别人向我展示一个简单的工作示例是如此困难 这让我相信每个人都只能说得好像他们知道如何去做 但实际上他们并不知道 我将帖子缩短为仅我想要示例执行的操作 也许帖子太长了 吓跑了人们 为了获得这个赏金 我正在寻找一个可以在 VS 20
  • Mac OS X 上的 ASP.NET MVC 5

    我想了解如何在运行 OS X 10 10 5 的 Mac 上使用 Microsoft ASP NET 框架构建网站 我将跟随一个使用 ASP NET MVC 5 的在线课程 到目前为止我读过的所有教程都说要使用Homebrew http b
  • Nuget 包:使用不同的 MVC 版本(如果可用)

    我有一个开源 nuget 包属性路由 https github com mccalltd AttributeRouting 目前打包的程序集引用了 System Web Mvc 版本 2 我想在 MVC 3 4 项目中引用 MVC 3 4
  • 控制器名称是从类名称派生的吗?

    这是一个新手问题 我正在查看默认的 asp net mvc3 项目 注意到有一个名为 public class AccountController Controller 我查看了整个代码 找不到指定 AccountController 映射
  • ASP .net MVC中每个数据存储区域的寿命是多少

    我已经看到了一些关于这些的解释 但没有什么可以真正比较它们的开始 结束或重叠的地方 也没有很好的使用例子 以下每个数据集合的生命周期是多少 我还缺什么吗 应用 Session ViewData TempData 应用程序 只要您的应用程序正

随机推荐