如何解决如何在内存中创建 Csv 并将其返回给客户端?
如何在内存中创建一个 csv 文件并将其作为 col1 col2
1 1 A
2 2 A
3 3 A
5 4 B
6 5 B
8 7 C
9 8 C
10 10 C
返回?
我尝试写入 FileStreamResult
,然后用 memorystream
返回它,但我总是收到错误 FileStreamResult
。我尝试将 ObjectdisposedException: Cannot access a closed Stream.
设置为 true 并像告诉 here 一样手动处理,但我仍然遇到相同的错误。
leaveopen
解决方法
听起来有些东西被处理得太早了。在抛出错误之前,我通常会逐步查看代码到达的位置。
尝试从“using var memStream”行中删除 using(我发现 c# 8.0 using 语句有时不能按预期工作)或将其包装在传统的 using 块中。
,您需要将流的当前位置移动到开头:
memStream.Position=0;
FileStreamResul
将从流的当前位置开始读取。
当您处理 csv 或 writer 时,它们会处理基本流。只是不要处理任何流。 FileStreamResult 会在发送数据时处理 baseStream。
所以去掉这两行代码。 csv.Dispose(); writer.Dispose();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。