为什么此操作会导致客户端出现空文件



为什么此操作会导致客户端出现空文件??

public FileResult download(){MemoryStream流=新MemoryStream();StreamWriter写入程序=新的StreamWriter(流);FileStreamResult fs=新的FileStreamResult(流,"text/plain");fs。FileDownloadName="file.txt";作家WriteLine("缺少此文本!!:(");作家Flush();流动Flush();返回fs;}

这可能是因为当您将基础流(在您的情况下是MemoryStream)返回到客户端时,它没有定位在开头。

在返回语句之前尝试此操作:

stream.Position = 0

此外,这些代码行:

writer.Flush();
stream.Flush();

不需要,因为流是基于内存的。您只需要那些磁盘或网络流,其中可能有仍需要写入的字节。

您也可以使用

stream.Seek(0, SeekOrigin.Begin);

相关内容

  • 没有找到相关文章

最新更新