在
PHP中,可以通过使用正确的标头回显文件来将文件返回到浏览器.您不需要先在服务器上保存它的副本.
所以假设我有一堆数据我希望作为excel文件返回 – 在使用OpenXML创建数据结构之后,如何将文件提供给用户而不先将其保存在服务器上?
解决方法
通过设置FileStream,ContentType和FileDownloadName属性,将数据写入流并将其从
FileStreamResult中的控制器操作方法返回.
[HttpGet] public FileStreamResult MyFile() { var fileStreamResult = new FileStreamResult (GetMyContentAsStream(),"my/content-type-here"); fileStreamResult.FileDownloadName = "my-file-download-name.here"; return fileStreamResult ; }
更新:
这样做的捷径是使用Controller.File()方法.
[HttpGet] public FileStreamResult MyFile() { return File(GetMyContentAsStream(),"my/content-type-here"); }