Я получаю файлы из внешней системы, представленные в строках base64. Файлы имеют различные форматы: docx, pdfs, jpg и т. Д. В большинстве случаев я получаю их в виде одной строки base64. В таких случаях я могу конвертировать их обратно в бинарный файл. Иногда из-за некоторых ограничений вышеупомянутой системы я получаю файлы в виде двух или более строк base64. Как тогда я должен объединить их в один массив байтов []
public static byte[] Join64Strings(string[] base64Strings)
{
var bytes = new List<byte>();
foreach (var base64String in base64Strings)
{
bytes.AddRange(Convert.FromBase64String(base64String));
}
return bytes.ToArray();
}
Если у меня есть один элемент в массиве base64Strings, он работает. Проблема с более чем одним элементом. Затем файл записан с
File.WriteAllBytes
поврежден. Я думаю, что проблема в том, что в конце всех строк в массиве появляются завершающие символы = (знаки равенства), возможно, их нужно обработать особым образом.