c# - stream.CopyTo - 文件为空。网站

标签 c# asp.net filestream

我正在使用此代码保存上传的图片:

using (var fileStream = File.Create(savePath))
{
   stream.CopyTo(fileStream);
}

当图像保存到目标文件夹时,它是空的,0 kb。这里可能有什么问题?我在复制前检查了 stream.Length,它不是空的。

最佳答案

您的代码没有任何问题。你说“我已经检查了流。复制前的长度并且它不为空”这一事实让我想知道复制前的流位置

如果您已经使用过一次源流,那么尽管流的长度不是零,但它的位置可能在流的末尾 - 因此没有任何内容可复制。

如果流是可搜索的(对于 MemoryStreamFileStream 和许多其他流),请尝试放置

stream.Position = 0

就在复制之前。这会将流位置重置为开头,这意味着您的代码将复制整个流。

关于c# - stream.CopyTo - 文件为空。网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9349571/

相关文章:

c# - 识别电子邮件地址是否为 'public'

asp.net - 1 个 Web 应用程序由 2 个 IIS 站点共享?

ASP.NET 应用程序通过 Windows 身份验证或表单例份验证对 Active Directory 或 SQL 进行身份验证

c# - 如何在 Xamarin for Android 中压缩文件?

c# - 读取压缩文件并写入新文件将不允许解压

c# - 双端优先队列

javascript - 可编辑的cshtml查看页面另存为PDF

c# - 尝试在 blobstorage 触发函数中引用 CloudBlockBlob 时出现编译错误

c# - 我错过了明显的吗?我想我将不得不在这里使用 ispostback 但不了解如何

c# - 使用读取和写入流保存文件时图像损坏