创建和下载文本文件

时间:2016-12-20 00:59:47

标签: .net file api

我需要在我的View中实现下载按钮,当用户点击我需要从数据库中读取一些记录创建文件并下载。

var stream = new MemoryStream();
stream.Position = 0;

var response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(stream);
return response;

这是我现在的代码,但我不知道如何写一些数据以及如何转换为txt文件。

我是否需要先创建它并存储在服务器上,这里只是为了阅读它?

1 个答案:

答案 0 :(得分:0)

您需要在从api返回之前创建txt文件。您可以查看here如何创建txt文件。

这是返回流的方法。

var path = @"C:\YourFile.txt";
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(path, FileMode.Open);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = 
    new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = Path.GetFileName(path);   
result.Content.Headers.ContentLength = stream.Length;
return result;
相关问题