FileStream.Write Загрузить изображение, но повреждено или повреждено - PullRequest
1 голос
/ 14 июля 2011

привет, я использую FileStream для загрузки файла на веб-сервер, я использую asp.net, загрузка работает нормально, когда я использую Chrome или Firefox, но когда я использую IE, файл поврежден или поврежден, я не могу открытьЭто.вот код

 try
   {

            using (fileStream = new FileStream(saveLocation, FileMode.Create, FileAccess.Write))
            {
                var length = 4096;
                var bytesRead = 0;
                var buffer = new Byte[length];
                do
                {
                    bytesRead = Request.InputStream.Read(buffer, 0, length);
                    fileStream.Write(buffer, 0, bytesRead);

                } while (bytesRead > 0);
                fileStream.Flush();
            }
        }
        catch
        {
            result = "{\"success\":\"false\"}";
        }
        finally
        {
            if (fileStream != null)

                fileStream.Close();
        }

Я уже отлажен, все отлично, все без исключения, файл можно сохранить на сервере, но просто я не смог его открыть?Любая помощь, большое спасибо

1 Ответ

0 голосов
/ 14 июля 2011

Я бы сравнил файлы ... Используйте инструмент вроде winmerge, чтобы посмотреть и увидеть, что конкретно отличается от загружаемых и сохраняемых файлов.

Как только вы увидите разницу, вы сможете исправить условие. Например, это может быть из-за того, что IE отправляет дополнительный байт в конец файла ... то есть он выглядит испорченным, и вы можете просто отключить его, основываясь на агенте пользователя ...

GL

...