2013-11-19 4 views
2

В моем веб-приложении у меня есть подключение к веб-сервису. В моем веб-службы, он имеет метод для получения байта отчета, основанного на пути:Строка байтов в байтовый массив C#

public byte[] GetDocument(string path) 
{ 
    byte[] bytes = System.IO.File.ReadAllBytes(path); 
    return bytes; 
} 

Теперь, когда я делаю запрос от моего веб-приложения, веб-сервис дает мне объект JSON, похожее на это:

{ 
    "Report":"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAA 
    AAACAAAA3QAAAAAAAAAAEAAA3wAAAAEAAAD+ ... (continues)" 
} 

И в моем веб-приложение, у меня есть метод для извлечения объекта JSON, поставив «отчет» в строке. затем Веб-приложение имеет метод для разбора строки байтов в массив байтов, который не работает, он бросает FormatException:

public byte[] DownloadReport(string id, string fileName) 
{ 
    var fileAsString = _api.DownloadReport(id, fileName); 
    byte[] report = fileAsString.Split() 
           .Select(t => byte.Parse(t, NumberStyles.AllowHexSpecifier)) 
           .ToArray(); 
    return report; 
} 

Я также пытался сделать это:

public byte[] DownloadReport(string id, string fileName) 
{ 
    var fileAsString = _api.DownloadReport(id, fileName); 
    byte[] report = Encoding.ASCII.GetBytes(fileAsString); 
    return report; 
} 

Который дал мне файл .doc с той же строкой, что и объект Json.

Я разбираю что-то не так с веб-службы, или это когда я хочу снова преобразовать его в массив байтов?

+0

Пожалуйста, добавьте все Exception вы получаете – Marco

+1

@Serv, это Nput 'строка не была правильной format..', а затем пучок путей. но ответ @Dmytro Rudenko сделал это. – Moelbeck

+1

Я уже видел, что ответ Дмитрия помог вам. – Marco

ответ

5
public byte[] DownloadReport(string id, string fileName) 
    { 
     var fileAsString = _api.DownloadReport(id, fileName); 
     byte[] report = Convert.FromBase64String(fileAsString); 
     return report; 
    } 
+1

Слава Богу/спасибо! Я думал, что пробовал это, но очевидно, что я этого не делал. Сейчас работает как шарм. – Moelbeck

Смежные вопросы