【发布时间】:2019-08-15 08:41:45
【问题描述】:
我已成功从项目中读取 pdf 并显示在 WebView 中。我想要做的是从我的项目中获取 pdf 文件路径并检查它是否存在以显示它,如果不存在,则给它另一个 URI 来打开它。任何人都知道我如何获取 pdf 的路径,它适用于 Android 和 iOS。
这是我的 C# 代码:
string internalstorageurl = string.Format("file:///android_asset/Content/{0}", WebUtility.UrlEncode("Conctionprofile.pdf"));
public pdfviewer ()
{
InitializeComponent ();
PDFReading();
}
private void PDFReading()
{
pdfwebview.Uri = internalstorageurl;
}
XAML:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:AppXamarin.CustomRenders"
x:Class="AppXamarin.Pages.pdfviewer"
Padding="0,20,0,0">
<ContentPage.Content>
<local:CustomWebView x:Name="pdfwebview" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
</ContentPage.Content>
</ContentPage>
我正在使用以下代码检查该文件是否存在于我的项目中:
[assembly: Dependency(typeof(GetPdfFilePath_Android))]
namespace AppXamarin.Droid.CustomRender
{
public class GetPdfFilePath_Android : Java.Lang.Object, IGetPdfFilePath
{
public string filePath(string fileName)
{
string internalstorageurl = string.Format("file:///android_asset/Content/{0}", WebUtility.UrlEncode(fileName));
if (File.Exists(internalstorageurl))
return internalstorageurl;
else
return "not found";
}
}
}
if 语句总是假的
【问题讨论】:
-
你不能以同样的方式做这两个。平台之间的路径会有所不同,因此您需要针对每个平台进行实现。
标签: pdf xamarin.forms