У меня есть следующий код, который работает большую часть времени при сохранении файла из потока памяти, указывающего на массив байтов, в сетевое расположение.
using (var writer = new BinaryWriter(new FileStream(filePath, FileMode.Create)))
using (var reader = new BinaryReader(stream))
{
var chunkSize = 1024;
var chunkCount = (int)reader.BaseStream.Length / chunkSize;
var chunks = Enumerable.Range(0, chunkCount)
.Select(_ => reader.ReadBytes(chunkSize));
chunks.ForEach(c => writer.Write(c));
writer.Write(reader.ReadBytes((int)reader.BaseStream.Length % chunkSize));
writer.Close();
reader.Close();
}
Есть ли какой-либо возможный способ, которым приведенный выше код может в конечном итоге сохранить нулевой файл байтов? Это плохая идея, чтобы сохранить в сети напрямую и не использовать метод «copy from temp»?