/// <summary> /// Enables processing of the result of an action method by a custom type that inherits from the <see cref="T:System.Web.Mvc.ActionResult"/> class. /// </summary> /// <param name="context">The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data.</param> public override void ExecuteResult(ControllerContext context) { var resolveResult = ResolveImage(context); if (resolveResult != null) { var fileStreamResult = new FileStreamResult(resolveResult.Stream, resolveResult.MimeType); fileStreamResult.ExecuteResult(context); } else { //TODO: let user specify default image if requested one was not found new EmptyResult().ExecuteResult(context); } }
/// <summary> /// 导出文件 /// </summary> /// <param name="fileStream">文件流。流数据最终会在文件导出后(即使出错)关闭并释放</param> /// <param name="outputName">要输出的文件名称,含扩展名</param> public void OutPut(Stream fileStream, string outputName) { var fileResult = new FileStreamResult(fileStream, MimeMapping.GetMimeMapping(outputName)) { FileDownloadName = outputName }; fileResult.ExecuteResult(this.context); }