sar*_*ake 5 excel memorystream asp.net-mvc-3
我在Controller中有以下操作
public ActionResult DownloadExcel()
{
//create and populate Excel file here
C1XLBook testBook = new C1XLBook();
//populate it here
MemoryStream ms = new MemoryStream();
testBook.Save(ms, FileFormat.Biff8);
return File(ms, "application/ms-excel", "test-file.xls");
}
Run Code Online (Sandbox Code Playgroud)
打开文件时,我收到Excel消息,指出该文件与扩展名不匹配,文件打开已损坏.
如果我将文件保存在硬盘驱动器上并从那里返回,一切都很好:
return base.File(@"C:\LOGS\test-file.xls", "application/ms-excel", "test-excel.xls");
Run Code Online (Sandbox Code Playgroud)
我最初认为保存功能在将其保存到MemoryStream时会破坏它,所以我保存并重新加载它并且很好地传回给用户 - 当保存在硬盘驱动器上并从那里返回时,而不是从的MemoryStream
有任何想法吗?我不太喜欢将文件保存在硬盘上....此外我应该能够将它保存到MemoryStream并从那里返回它?
我有一个预感,也许MemoryStream不应该用于返回MVC中的文件,因为每个请求都是隔离的?
归档时间: |
|
查看次数: |
2588 次 |
最近记录: |