0

次のStreamコードがあります。そして、それは本当に古くて醜いので、これを行うためのよりクリーンな方法があるべきだと感じています。

// Write the current chunk to the stream.
using (var fileStream = new FileStream(tempPath, currentChunk == 0 ? 
                                                     FileMode.Create : 
                                                     FileMode.Append))
{
    var buffer = new byte[uploadedFile.Length];
    uploadedFile.Read(buffer, 0, buffer.Length);
    fileStream.Write(buffer, 0, buffer.Length);
}

それは何をしているのですか?

ファイルをチャンクでアップロードします。したがって、新しいファイルを作成する (最初のチャンク、つまりチャンク == 0 の場合) か、既存のファイルにチャンク データを追加します。

3行は時代遅れであり、使用できるより良い方法があると感じています。

そうですね?


編集:.NET 4.0は私には問題ありません:)

4

2 に答える 2

4

あなたのために働くかもしれStream.CopyToませんか?

http://msdn.microsoft.com/en-us/library/system.io.stream.copyto.aspx

ただし、この API は .NET 4.0 まで存在しなかったと思います。

于 2012-07-05T05:33:05.230 に答える
1

ファイルをいじるための静的メソッドを提供するFileクラス(System.IO)を見ることができます。したがって、コードのブロック全体が次のようになります。

File.AppendAllText(path, contentToAppend);

WriteAllBytes(...)WriteAllText(...)、またはReadAllText(...)

参考: http://msdn.microsoft.com/en-us/library/system.io.file.aspx

于 2012-07-05T06:05:24.167 に答える