我正在使用此代码保存上传的图片:
using (var fileStream = File.Create(savePath))
{
stream.CopyTo(fileStream);
}
当图像保存到目标文件夹时,它是空的,0 kb。这里可能有什么问题?我在复制前检查了 stream.Length,它不是空的。
最佳答案
您的代码没有任何问题。你说“我已经检查了流。复制前的长度并且它不为空”这一事实让我想知道复制前的流位置。
如果您已经使用过一次源流,那么尽管流的长度不是零,但它的位置可能在流的末尾 - 因此没有任何内容可复制。
如果流是可搜索的(对于 MemoryStream
或 FileStream
和许多其他流),请尝试放置
stream.Position = 0
就在复制之前。这会将流位置重置为开头,这意味着您的代码将复制整个流。
关于c# - stream.CopyTo - 文件为空。网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9349571/