ASP.Net MVC:保存动态创建的txt文件

时间:2016-02-02 12:25:53

标签: c# html asp.net asp.net-mvc text

在stackoverflow上有一个有趣的线程: ASP.NET MVC: returning plaintext file to download from controller method

这篇文章解释了如何在网址上显示txt文件的内容,而不是如何将该网址的内容保存到客户端磁盘。

是否有可能(在客户端)保存(实际上)不存在的文件?这里只是纯文本,我们的想法是将这个纯文本下载到TXT文件中。

1 个答案:

答案 0 :(得分:1)

这是我向客户发送PDF发票的方式:

      string contentType = "application/pdf";
      byte[] bytes = invoice.Data;
      FileContentResult fileResult = new FileContentResult(bytes, contentType);
      fileResult.FileDownloadName = invoice.FileName;
      return fileResult;

这不需要磁盘上的文件。请注意,重要的是内容类型。这就决定了客户端浏览器如何处理响应。如果您有一个文本文件,并将其传递给客户端,并且内容类型设置为" text / plain" (或类似的),客户端浏览器可能会在浏览器的选项卡中显示文本。

要调用下载对话框,请使用

string contentType = "application/octet-stream";

这将告诉浏览器您正在发送"二进制文件",从而强制"大多数普通浏览器"下载它。