2016-01-10 1 views
0

Я хотел бы преобразовать массив байтов в файл PDF и сохранить его во внутреннем хранилище. Я использую ниже упомянутый код, он говорит, что PDF имеет недопустимый формат.Xamarin Android Преобразование массива байтов в файл PDF

private void ConvertToFile(string fileName , string filePath,Byte[] Bytes){ 



     if (!File.Exists (filePath)) { 
      File.WriteAllBytes(filePath, Bytes); 

     } 

    } 
+0

Куда выходят Bytes? Вы уверены, что это действительный файл PDF? – Jason

+0

Да. Я пробовал это с помощью Android native, но не с Xamarin. Он поступает из WS –

ответ

0

Сначала вы получаете bytedata из своего веб-сервиса в своем приложении. затем укажите соответствующий Абсолютный путь (я установил внутренний путь хранения в папке загрузки в моем коде ниже). После этого WriteAllBytes является встроенной функцией, которая преобразует ваши байты в формат PDF здесь:

WebService ws= new Android.WebService(); 
byte[] getbytedata= ws.YourMethodName(); 
string directory = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads); 
string file = Path.Combine(directory, "temp.pdf"); 
System.IO.File.WriteAllBytes(file, getbytedata); 

Надеется, что это будет работать.