私はこのコードを使用して、アップロードした画像を保存しています:stream.CopyTo - ファイルが空です。 asp.net
画像は、その先のフォルダに保存されusing (var fileStream = File.Create(savePath))
{
stream.CopyTo(fileStream);
}
、それが0キロバイト、空です。ここで何が間違っている可能性がありますか?私はストリームをチェックしました。コピーする前の長さと空ではありません。
私はこのコードを使用して、アップロードした画像を保存しています:stream.CopyTo - ファイルが空です。 asp.net
画像は、その先のフォルダに保存されusing (var fileStream = File.Create(savePath))
{
stream.CopyTo(fileStream);
}
、それが0キロバイト、空です。ここで何が間違っている可能性がありますか?私はストリームをチェックしました。コピーする前の長さと空ではありません。
コードに問題はありません。あなたが「ストリームをチェックしました。コピーする前の長さとそれが空でない」と言うと、コピーする前にストリームの位置について私は不思議に思います。
すでにソースストリームを1回消費していた場合は、ストリームの長さがゼロではないにもかかわらず、その位置はストリームの最後にある可能性があります。したがって、コピーする必要はありません。
ストリームは(それがMemoryStream
またはFileStream
および他の多くのためになる)シーク可能である場合には、単にコピーする前に
stream.Position = 0
を入れてみてください。これにより、ストリームの位置が最初にリセットされます。つまり、ストリーム全体がコードによってコピーされます。
元のストリームをロードするコードを確認できますか?また、ストリームstream.Seek(0、SeekOrigin.Begin);を挿入してみてください。コピーの直前に、元のストリームの先頭にいることを確認してください。 – dash