Как преобразовать строку данных файла в строку изображения Base64? - PullRequest
0 голосов
/ 21 апреля 2020

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

Пример ответа от API:

{
"FileData": "0xFFD8FFE000104A46494600010100000100010000FFE108564578696600004D4D002A00000008000A010F0002000000060000008601100002000000090000008C011200030000000100010000011A00050000000100000096011B0005000000010000009E0128000300000001000200000131000200000005000000A60132000200000014000000AC8769000400000001000000C0882500040000000100000754000000004170706C65006950686F6E65205800000000004800000001000000480000000131332E320000323031393A31303A32312030373A31383A333100001F829A0005000000010000023A829D0005000000010000024288220003000000010002000088270003000000010020000090000007000000043032333190030002000000140000024A90040002000000140000025E9101000700000004010203009201000A000000010000027292020005000000010000027A9203000A00000001000002829204000A000000010000028A920700030000000100050000920900030000000100100000920A0005000000010000029292140003000000040000029A927C000700000468000002A2929100020000000432313700929200020000000432313700A00000070000000430313030A002000400000001000001C2A00300040000000100000152A21700030000000100020000A30100070000000101000000A40200030000000100000000A40300030000000100000000A405000300000001001C0000A40600030000000100000000A4320005000000040000070AA4330002000000060000072AA434000200000024000007300000000000000001000000180000000900000005323031393A31303A32312030373A31383A333100323031393A31303A32312030373A31383A33310000001197000003D60000086F000004F9000008F4000002B30000000000000001000000040000000107DF05E708A905324170706C6520694F530000014D4D001900010009000000010000000B000200070000022E0000014000030007000000680000036E0004000900000001000000010005000900000001000000B30006000900000001000000B80007000900000001000000010008000A00000003000003D6000C000A00000002000003EE000D0009000000010000001A000E00090000000100000000000F00090000000100000002001000090000000100000001001400090000000100000005001700090000000100002000001900090000000100000000001A000200000006000003FE001F000900000001000000000020000200000025000004040021000A000000010000042A0023000900000002000004320025000900000001000000000026000900000001000000000027000A000000010000043A002B000200000025000004420000000062706C69737430304F110200AC00B500C400B600B300B50086006E0051004900630086009D00B200CF00E4008E00AF00ED00DF00DA00D700AE00960068004F0038005300B400CB00B60082009500A700BC00AD00B600D900CF00BE008300620043005D008C02A0015E00610090009600620045005B0079007F00960082006C00540076009A0062007900E3008B009C004F003D003D0030002900670082006E0051007E009300A600E1008E018100880045003900720090002E006200820073005C008700B000C900E90016016F00750043004200350026001E0059006F0061004D008300A400B800CD00DF007E00890058004C0035003D003A006C0077006700560088009D00AD00B600BC0062006E0077006A00700079006300670057004F00450081009500A600A600A40045005600800081008800950095008",
"FileExtension": "jpg"

}

Вот мой код:

 byte[] bBLOBStorage = (byte[])imgdt.FileData;
 string base64String = Convert.ToBase64String(bBLOBStorage, 0, bBLOBStorage.Length);

Если я десериализую данные файла в строковом формате, это выдаст мне ошибку

не может преобразовать строку в байт []

, и если я десериализую данные файла непосредственно в байте [], преобразованная Base64 будет такой же, как полученная строка, и не будет работать для меня. Вот что я попробовал:

string base64String = Convert.ToBase64String(imgdt.FileData, 0, imgdt.FileData.Length);
var imgurl =  "data:image/png;base64," + base64String;

Пожалуйста, помогите. Я новичок в C#.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...