Stack Overflow на русском Asked by GeekProgrammer on February 18, 2021
Я создаю архиватор с помощью записи файлов (в виде base64) в файл построчно. В программе также встроена возможность предпросмотра содержимого архива. Элементом просмотра выступает MediaElement. В процессе преобразования я сначала конвертирую base64 в byte[], а после – byte[] в Uri. Однако, при попытке конвертировать byte[] в Uri я получаю исключение : слишком длинная строка Uri. Вот код, который я использую.
Uri ByteArrToUri(byte[] arr)
{
return new Uri(Encoding.UTF8.GetString(arr));
}
Есть ли способы исправить это, или другие варианты конвертации byte[] в Uri?
Судя по всему, у вас в массиве байты не самой строки, а base64, в этом случае, вам надо сначала выполнить преобразование в байты строки.
Uri ByteArrToUri(byte[] arr)
{
string base64 = Encoding.UTF8.GetString(arr);
byte[] bytes = Convert.FromBase64String(base64);
return new Uri(Encoding.UTF8.GetString(bytes));
}
Answered by aepot on February 18, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP