stream.CopyTo – 文件为空。 asp.net
我正在使用以下代码保存上传的图片:
using (var fileStream = File.Create(savePath)) { stream.CopyTo(fileStream); }
当图像保存到目标文件夹时,它是空的,0 kb。 这可能有什么问题? 我在复制之前检查了stream.Length并且它不是空的。
您的代码没有任何问题。 事实上,你说“我已经检查了stream.Length,然后复制并且它不是空的”让我对复制之前的流位置感到疑惑。
如果您已经消耗了一次源流,那么虽然流的长度不是零,但它的位置可能位于流的末尾 – 因此没有任何内容可供复制。
如果流是可搜索的(它将用于MemoryStream
或FileStream
以及许多其他流),请尝试使用
stream.Position = 0
就在复制之前。 这会将流位置重置为开头,这意味着整个流将由您的代码复制。