下载并保存 PDF 以供查看

Ini*_*ton 5 xamarin.ios xamarin

我正在尝试从我的应用程序下载 PDF 文档并将其显示在 IBooks 中,或者至少在完成下载后使其可供阅读。

我遵循了 Xamarin 的下载示例,它允许我下载 PDF 并将其保存在本地。它也被保存在错误的编码中。

这是我迄今为止尝试过的。

private void PdfClickHandler()
{
    var webClient = new WebClient();

    webClient.DownloadStringCompleted += (s, e) => {
        var text = e.Result; // get the downloaded text
        string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
        string localFilename = $"{_blueways}.pdf";
        // writes to local storage
        File.WriteAllText(Path.Combine(documentsPath, localFilename), text); 

        InvokeOnMainThread(() => {
            new UIAlertView("Done", "File downloaded and saved", null, "OK", null).Show();
        });
    };

    var url = new Uri(_blueway.PDF);
    webClient.Encoding = Encoding.UTF8;
    webClient.DownloadStringAsync(url);
}
Run Code Online (Sandbox Code Playgroud)

Sus*_*ver 4

不要用于DownloadStringAsync“二进制”数据,请使用DownloadDataAsync

从指定为异步操作的 URI 以字节数组形式下载资源。

private void PdfClickHandler ()
{
    var webClient = new WebClient ();

    webClient.DownloadDataCompleted += (s, e) => {
        var data = e.Result;
        string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
        string localFilename = $"{_blueways}.pdf";
        File.WriteAllBytes (Path.Combine (documentsPath, localFilename), data);
        InvokeOnMainThread (() => {
            new UIAlertView ("Done", "File downloaded and saved", null, "OK", null).Show ();
        });
    };
    var url = new Uri ("_blueway.PDF");
    webClient.DownloadDataAsync (url);
}
Run Code Online (Sandbox Code Playgroud)