我希望允许我的应用从网络下载图像并将其放置在/images 中,然后显示在 UI 中 - 这是为了允许为 Multi-Tenancy 应用下载品牌特定图像。
应用程序会正确下载图像并将图像放入/Images 文件夹
但是,当尝试使用 UIImage.FromFile
加载图像时,它总是返回 null - 即使我完全知道图像就在那里!
我知道 UIImage.FromBundle 会缓存内容,所以我选择使用 FromFile 但这似乎不起作用?!
我需要做些什么才能使这项工作成功吗?还是我有点运气了?
我使用以下内容来创建文件路径:
public static UIImage SafeClaim_Logo = UIImage.FromFile(NSBundle.MainBundle.BundlePath +"/Images/Logo.png");
以下是我用来下载和保存文件的代码 - 当我检查它时,上面的文件路径与下面相同
HttpClient client = new HttpClient ();
var clientResponse = await client.GetByteArrayAsync(url);
using (FileStream fs = new FileStream(NSBundle.MainBundle.BundlePath + path, FileMode.OpenOrCreate))
{
var bytes = clientResponse;
fs.Write(bytes, 0, bytes.Length);
}
最佳答案
应用程序包是只读的,因此您无法在运行时更改或添加内容。
运行时创建的所有内容都应存储在您的文档或缓存文件夹中。
您可以通过调用以下方式获取文档文件夹:
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
关于ios - Xamarin iOS 在运行时交换包中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23790267/