Tag: fileresult

使用WebAPI HttpResponseMessage时下载文件提示

我的API中有一个返回HttpResponseMessage的方法: [HttpGet, HoodPeekAuthFilter] public HttpResponseMessage GlobalOverview() { try { StatsRepo _statsRepo = new StatsRepo(); string file = _statsRepo.IncidentData().AsCSVString(); if (file == null) { return Request.CreateResponse(HttpStatusCode.NoContent); } HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new StringContent(file); result.Content.Headers.ContentType = new MediaTypeHeaderValue(“application/octet-stream”); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue(“attachment”); result.Content.Headers.ContentDisposition.FileName = “GlobalOverview.csv”; return result; } catch (Exception ex) { return Request.CreateResponse(HttpStatusCode.InternalServerError); […]

从FileResult重定向到MVC ActionResult

这可能是一个简单的,但这里是: 我正在我的MVC3应用程序中实现一个excel可下载的报告。 我过去曾使用过这种方法而且效果很好,但在这种情况下,报告中可能不存在销售数据。 这是我的代码: 我在Reports控制器中有一个FileResult操作: [HttpPost] public FileResult ExcelReportDownload(ReportExcelDownloadRequest reportRequest) { ReportEngine re = new ReportEngine(); Stream report = re.GetReport(reportRequest); return new FileStreamResult(report, “application/ms-excel”) { FileDownloadName = “SalesReport.xls” }; } 我的问题是,有时报告流可能为空,这意味着没有可用的销售信息,在这种情况下,我宁愿重定向到显示消息的视图,说没有可用的销售信息,但是我不确定如何实现这个。 有没有办法做到这一点?