我尝试在Android上使用我的MAUI应用程序在本地保存一个图像。测试 if(File. pists(filePath)) 是肯定的。但是当我在Android上使用总命令或在Windows上使用文件资源管理器搜索此文件时,我找不到该文件。
- filepath* 的值是:
/data/user/0/de.company.appname.beta/files/0001/UserProfileImage.png
使用Windows资源管理器搜索“de.company.appname.beta”,我会找到如下路径:
Dieser PC\Franks Galaxy A33 5G\SD-Karte\Android\data\de.company.appname.beta
但在这个文件夹中我只找到一个文件夹 “缓存”,而不是 “文件”。
搜索文件名 “UserProfileImage.png” 没有结果。
我传递给SfAvatarView的字符串filePath。没有正确的图像可见。(这就是为什么我在保存图像时寻找问题。)在Windows上它工作,而不是在Android上。
为什么本地无法保存镜像?
try
{
await File.WriteAllBytesAsync(_personDto.Image, Convert.FromBase64String(cleanPath));
}
字符串
不会抛出异常。
1条答案
按热度按时间n3h0vuf21#
我不知道“SfAvatarView”,但我怀疑它会离图像太远。
对于ImageView的源代码,Android喜欢缓存文件。当然是使用文件名。从你的固定文件名来看,我可以说它正在发生。
我有两个选择来解决这个问题:
第一个选项是不断更改文件名,这样它就不会缓存自己。第二个选项是清除该高速缓存目录。
我选择了第二个选择:
枚举此目录中的所有文件:
字符串
并执行删除。
最近,出现了其他解决方案:https://github.com/dotnet/maui/issues/9773