Вы не читаете данные - вы просто создаете байтовый массив соответствующей длины и затем конвертируете этот массив нулей в основание 64.
Используйте File.ReadAllBytes
, чтобы очень просто прочитать файл в память ... или, если вы действительно хотите сделать это вручную, зациклите чтение данных в буфер - вы не должны полагаться на один вызов Stream.Read
, чтобы прочитать все.
Если вы хотите записать двоичные данные, используйте File.WriteAllBytes
, а для записи текста используйте File.WriteAllText
.
Даже если вам удалось записать данные base64, вы не сможете открыть их, как в Word - потому что это просто текстовый файл с текстом base64 ... вы либо вы хотите записать декодированные двоичные данные, или , вы хотите записать данные base64 во что-то, что затем декодирует их позже. (В настоящее время вы просто выбрасываете декодированные данные.)
Наконец, не то, что во времена, когда вы делаете , используете StreamWriter
, вы должны использовать оператор using
, чтобы убедиться, что он удаляется, даже если он вызывает исключение.