如何从Asp.Net MVC Web应用程序中的FileStremResult对象获取文件?

奥博明哥

我有带表单的Asp.Net MVC Web应用程序。当我提交表单应用程序运行方法时:

[HttpPost]
public ActionResult MyMethod(MyViewModel model)
{
    FileStreamResult document = CreateDocument(model);
    return document;
} 

浏览器会在同一选项卡中打开生成的文件(PDF)。我不想打开该文件,而是想将其下载到磁盘。如何执行此动作?

斯利克西姆

您需要告诉浏览器它是下载文件,而不是文件。

您可以通过设置2个标题(内容类型和内容处置),然后将PDF写入响应流来实现。

[HttpPost]
public ActionResult MyMethod(MyViewModel model)
{

     HttpResponseBase response = ControllerContext.HttpContext.Response;

    response.ContentType = "application/pdf";
    response.AppendHeader("Content-Disposition", "attachment;filename=yourpdf.pdf");

    FileStreamResult document = CreateDocument(model);
    //Write you document to response.OutputStream here
    document.FileStream.Seek(0, SeekOrigin.Begin);
    document.FileStream.CopyTo(response.OutputStream, document.FileStream.Length);

    response.Flush();

    return new EmptyResult();
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在ASP.NET MVC中获取Web应用程序的基本URL?

如何在ASP .NET MVC 5 Web应用程序的Seed方法中通过UserManager创建ApplicationUser

如何在Visual Studio Community 2013中创建ASP.NET MVC 5 Web应用程序?

如何对ASP.NET MVC Web应用程序进行授权的HttpWebRequest

我们如何在Visual Studio Code中调试ASP.NET MVC Web应用程序?

如何在ASP.NET MVC 5.2.3应用程序中的其他位置获取IAppBuilder实例?

ASP.NET MVC Core如何获取应用程序支持的文化列表

如何从ASP.Net MVC 5应用程序中的浏览器获取URL

如何在Visual Studio 2012中更改ASP.NET MVC Web应用程序的SSL端口号

ASP.NET MVC应用程序中的分页

如何在ASP.NET Core 2.0 MVC应用程序的HomeController中获取当前的外部提供程序

如何在ASP Net Core MVC应用程序中从Azure AD B2C获取用户列表?

如何从ASP.NET-MVC 4应用程序提供静态文件?

在asp.net MVC Web应用程序中捆绑和缩小ES6 javascript文件

如何在RedHat OS中运行asp.net MVC4 Web应用程序

如何获取ASP.NET MVC应用程序以从Azure Service Bus队列读取?

如何在ASP.NET MVC应用程序中的MVCMailer中处理异常

ASP.NET MVC:如何绕过MVC应用程序中的控制器?

ASP.NET MVC3 Web应用程序

如何在ASP.NET MVC和C#应用程序中以编程方式修改web.config?

在我的asp.net MVC Web应用程序中获取通用存储库+子存储库+ UnitOfWork

如何提高ASP.NET MVC Web应用程序的性能?

如何检查IIS内部署的asp.net mvc Web应用程序的日志

如何在Web应用程序ASP.net MVC中嵌入C#.net控制台应用程序

如何将ASP.NET MVC Web应用程序的标识/身份验证部分移到类库中?

如何将应用程序错误写入ASP.NET MVC5中的文件?

如何在 ASP.NET MVC 应用程序上获取时间戳

如何在 Asp.net MVC Web 应用程序 C# 中上传文件时显示进度?

在我的 asp.net 核心 MVC Web 应用程序中,我如何使 recaptcha 成为必填字段