example из MSDN, кажется, считывает весь файл в память. Я не хочу этого. Файл должен обрабатываться по блоку. Поэтому я попытался переписать пример:Decode base64 filestream with FromBase64Transform
using (FromBase64Transform myTransform = new FromBase64Transform (FromBase64TransformMode.IgnoreWhiteSpaces)) {
byte[] transformBuffer = new byte[myTransform.OutputBlockSize];
using (FileStream inputFile = File.OpenRead("/path/to/file/47311.b64")) {
using(FileStream outputFile = File.OpenWrite("/path/to/file/47311.jpg")){
int bytesRead;
byte[] inputBuffer = new byte[4096];
while ((bytesRead = inputFile.Read (inputBuffer, 0, 4096)) > 0) {
int bytesWritten = myTransform.TransformBlock (inputBuffer, 0, 4, transformBuffer, 0);
outputFile.Write (transformBuffer, 0, bytesWritten);
}
myTransform.Clear();
}
}
}
Но изображение не может быть открыто. Что я делаю неправильно?
У вас есть исходный файл? Вы сравнили это с декодированным файлом? –
Да, и он отличается. – testing