C# FileHelper读取到流并使用web api下载
我有一个对象列表,我想通过Web Api下载为csv文件。 然而,当我用Swagger测试时,我没有得到csv下载。 我做错了什么?DailyReportContent包含2个对象 这是我目前的代码:C# FileHelper读取到流并使用web api下载,c#,asp.net-web-api,filehelpers,C#,Asp.net Web Api,Filehelpers,我有一个对象列表,我想通过Web Api下载为csv文件。 然而,当我用Swagger测试时,我没有得到csv下载。 我做错了什么?DailyReportContent包含2个对象 这是我目前的代码: public IActionResult GetDailyReport(DateTime invoiceDate) { var dailyReportContent = new List<DailyReportModel>()..... // create csv f
public IActionResult GetDailyReport(DateTime invoiceDate)
{
var dailyReportContent = new List<DailyReportModel>().....
// create csv file
var engine = new FileHelperEngine<DailyReportModel>
{
HeaderText = "headers.."
};
using (var stream = new MemoryStream())
using (var streamWriter = new StreamWriter(stream))
{
engine.WriteStream(streamWriter, dailyReportContent);
var result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("text/csv");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "DailyReports.csv" };
return Ok(result);
}
}
编辑:即使我添加了以下内容:
stream.Flush();
streamWriter.Flush();
var reader = new StreamReader(stream);
var readResult = reader.ReadToEnd();
readResult为空。所以我想写流的时候出了点问题?我想你需要
return result;
返回“Ok(