如何在Xamarin.Forms中将png从tmp PCLStorage移到本地非临时PCLStorage?

问题描述

我正在使用Xamarin.Forms(3.6)的旧版本,并且试图将WebView保存为PNG,以便可以离线查看。我找到了一种使用Forms9Patch(1.3.3)保存图像的方法

public void saveWebLicense()
{
    var htmlLicenseSource = LicenseSource;
    var fileName = $"{CurrentLicense.customerId}WebViewPNG";
    Forms9Patch.HtmlStringExtensions.ToPng(htmlLicenseSource.Html,fileName,async (string path) =>
    {
        if (path != null)
        {
            System.Diagnostics.Debug.WriteLine("A PNG of your HTML is here: " + path);

        }
    });
}

在将png保存为如下所示的文件名方面做得很好。

/Users/firstname.lastname/Library/Developer/CoreSimulator/Devices/8C7D30F5-F30E-48F6-9584-357193BD5CBB/data/Containers/Data/Application/BE627F14-1EC2-46C8-B015-8F57929111C3/tmp/12345WebViewPNG.png

我可以导航到该文件夹​​,然后看到PNG很好。问题是它存储在tmp文件夹中,一旦退出应用程序,它就消失了,因此无法加载它。我无法更改Forms9Patch给我的保存位置,所以我的想法是尝试将图像移动到其他本地非临时文件夹或将其复制。我需要适用于iOS和Android的产品,并且目前无法升级Xamarin.Forms或Forms9Patch,因此无法使用它们的任何新功能。我尝试使用File.Move,但是即使添加System和SystemIO,该功能甚至都无法识别。

如果它们适用于旧版本的Xamarin Forms,我也愿意接受其他建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)