Stream的使用不止一次

时间:2011-07-21 06:12:12

标签: c# stream clone filestream

我正在尝试使用 HttpPostedFile.InputStream 将图像文件上传到存储库,并使用相同的流调整大小到不同的缩略图大小。

  • 步骤1.使用 Stream sm = HttpPostedFile.InputStream 我能够 成功上传文件。
  • 步骤2.使用相同的流将图像调整为不同大小。 但是我总是得到错误,说正在使用流。

假设如果我跳过步骤1并仅执行步骤2,我可以将输入流(图像)的大小调整为不同的大小。基本上它只允许我使用inputStream一次。

如何顺序处理步骤1和2?

我确实尝试将inputStream存储到变量中,并为每一步使用单独的副本,但没有运气。

有人可以建议/帮助我吗?

非常感谢

2 个答案:

答案 0 :(得分:4)

在重新使用之前,你确实将Stream.Position设置为0?

通过存储多个变量,您可能只复制对内存中同一对象的引用。

答案 1 :(得分:0)

如果您使用此流将多个不同的图像上传到服务器,您可能希望为要上传的每个文件打开一个新流,而不是尝试使用单个流上传所有这些文件。