我正在尝试使用c#
在xamarin android应用程序中将字节转换为pdf。
其中的字节来自webservice
。我使用简单的webservice(asmx)
来提供数据。
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。
答案 0 :(得分:2)
问题是: 模拟器本身没有pdf阅读器。所以它无法读取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);
答案 1 :(得分:0)
检查你的路径。来自Marshmallow的访问文件的方式发生了变化。下面的代码可以解决问题
BSGMetricsService