2016-10-20 5 views
1

c#を使用して、xamarinのAndroidアプリケーションでバイトをpdfに変換しようとしています。 webserviceからのバイト数。私はデータを持ち込むのに簡単なwebservice(asmx)を使用しています。C#を使用してxamarin androidでバイト配列をpdfに変換するには?

appLoginService = new EgrasAndroid.AppLoginService(); 
byte[] grnbytedata= appLoginService.GetGRNPdf(UserId.ToString(), GRN.ToString()); 
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, grnbytedata); 

私は多くの解決策を探しましたが、主にWebアプリケーションまたはJavaアプリケーションで動作します。

エラーは表示されません。私はエミュレータでこれを実行していますが、ダウンロードフォルダにファイルがあります。ファイルをダウンロードするには "/ storage/sdcard/Download"というパスを使用しています。

空き領域が200MBありますが、私はエミュレータでsdcardのために撮影しました。

+1

'WriteAllBytes'が悪いのか?エラーはありますか?あなたはそれをデバッグしようとしましたか? 'grnbytedata'には何らかの値が入っていますか?あなたが尋ねていることは少し不明です。詳細を追加してください – Marusyk

+0

grnbytedataはデータをうまく返しています.. WriteAllbytesではエラーはありませんが、ダウンロード後にファイルが表示されません。エミュレータのどこにでもファイルが表示されません。 – Priya

+0

データ書き込みを許可していない可能性があります彼らは上にいる! –

答えて

2

を行う必要があります。 pdfファイルを読むことができません。 エミュレータでは、PDFリーダーをダウンロードする必要があります。その他これは実際のデバイスで正常に動作しています。

デバイスまたはエミュレータには、外部記憶装置が存在しない場合は、私たちが使用して内部ストレージのために行くことができます。

var directory = global::Android.OS.Environment.ExternalStorageDirectory.AbsolutePath; 
    directory= Path.Combine(directory ,Android.OS.Environment.DirectoryDownloads); 
    string file = Path.Combine(directory.ToString(), "temp.pdf"); 
    System.IO.File.WriteAllBytes(file, grnbytedata); 
0

パスを確認してください。 Marshmallowからのアクセスファイルへの変更があります。 エミュレータ自体はPDFリーダーを持っていない:コードは、以下の問題だったトリック

 if (Int32.Parse(Android.OS.Build.VERSION.Release.Substring(0, 1)) > 5) 
      { 
       documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal); 
      } 
      else 
      { 
       documentsPath = Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads); 
      } 
+0

ありがとうございますが、あなたはJavaコードについて語っています。 C#には 'Environment.GetFolderPath'のようなものはありません。パスは大丈夫ですが、エミュレータにpdfリーダーがないという問題がありました。 – Priya

関連する問題