Я пытаюсь отправить файл через NetworkStream и перестроить его на стороне клиента.Я могу корректно обработать данные (я думаю), но когда я использую объект BinaryWriter или FileStream для воссоздания файла, файл обрезается в начале в той же точке, независимо от используемой методологии.
private void ReadandSaveFileFromServer(ref TcpClient clientATF,ref NetworkStream currentStream, string locationToSave)
{
int fileSize = 0;
string fileName = "";
fileName = ReadStringFromServer(ref clientATF,ref currentStream);
fileSize = ReadIntFromServer(ref clientATF,ref currentStream);
byte[] fileSent = new byte[fileSize];
if (currentStream.CanRead && clientATF.Connected)
{
currentStream.Read(fileSent, 0, fileSent.Length);
WriteToConsole("Log Recieved");
}
else
{
WriteToConsole("Log Transfer Failed");
}
FileStream fileToCreate = new FileStream(locationToSave + "\\" + fileName, FileMode.Create);
fileToCreate.Seek(0, SeekOrigin.Begin);
fileToCreate.Write(fileSent, 0, fileSent.Length);
fileToCreate.Close();
//binWriter = new BinaryWriter(File.Open(locationToSave + "\\" + fileName, FileMode.Create));
//binWriter.Write(fileSent);
//binWriter.Close();
}
Когда я перехожу и проверяю fileName и fileSize, они верны.Байт [] также полностью заполнен.Любая подсказка относительно того, что я могу делать дальше?
Заранее спасибо ...
Шон
РЕДАКТИРОВАТЬ !!!что происходит.Когда я читаю строку, а затем Int из потока, байтовый массив имеет длину 256 индексов.Таким образом, мое чтение для строки принимает int, который затем заглушит другие области.Нужно это выяснить ...