【发布时间】:2021-03-30 23:22:52
【问题描述】:
我正在使用 ffimageloading 的 CachedImage 组件。我有一个带有轮播视图的画廊。
所有图片都是通过 Internet URL 加载的,它们不是本地图片。我想添加图片分享功能。但是我不想再次下载文件,我想知道是否有办法访问 CachedImage 组件已经下载的文件,以便能够在共享功能中重复使用它。
【问题讨论】:
标签: xamarin.forms ffimageloading
我正在使用 ffimageloading 的 CachedImage 组件。我有一个带有轮播视图的画廊。
所有图片都是通过 Internet URL 加载的,它们不是本地图片。我想添加图片分享功能。但是我不想再次下载文件,我想知道是否有办法访问 CachedImage 组件已经下载的文件,以便能够在共享功能中重复使用它。
【问题讨论】:
标签: xamarin.forms ffimageloading
尝试使用MD5Helper
var path = ImageService.Instance.Config.MD5Helper.MD5("https://yourfileUrlOrKey")'
【讨论】:
谢谢Jason
我与你分享我的部分代码:
var key = ImageService.Instance.Config.MD5Helper.MD5("https://yourfileUrlOrKey");
var imagePath = await ImageService.Instance.Config.DiskCache.GetFilePathAsync(key);
var tempFile = Path.Combine(Path.GetTempPath(), "test.jpg");
if (File.Exists(tempFile))
{
File.Delete(tempFile);
}
File.Copy(imagePath, tempFile);
await Share.RequestAsync(new ShareFileRequest
{
Title = "Test",
File = new ShareFile(tempFile)
});
我相信是临时文件,因为缓存文件没有扩展名并且应用程序无法识别类型。
【讨论】: