在Xamarin Forms上将图像从uri保存到图库

时间:2018-02-03 13:13:50

标签: image xamarin download xamarin.forms

我需要从Uri下载图像并将其保存到Xamarin Forms上的图库。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

您需要使用HttpClient从指定的Uri下载图片。最有可能GetAsync方法会有所帮助。 See documentation了解更多信息。

将文件加载到内存后,您必须将图像存储到存储中。如果您希望公开图像(不仅仅是内部应用程序),则需要以平台特定方式执行此操作,因为每个平台都有不同的方法将图像存储到照片库中。

Xamarin.Forms必须具有look into dependency service概念,它允许您创建共享的,与平台无关的接口,然后提供特定于平台的实现。然后,您可以将内存中的图像字节传递给此接口,它将管理特定于平台的图像保存。

对于 Android ,您需要申请内部存储访问权限。请参阅Android documentation中的详细信息。

对于 UWP ,您需要声明PicturesLibrary capability才能访问用户的图片。然后,使用Windows.Storage.KnownFolders.PicturesLibrary访问该位置,然后将图像存储在那里。查看更多信息in documentation

对于 iOS ,请参阅Xamarin recipe,了解如何将图像保存到用户相册中。您将使用UIImage.SaveToPhotosAlbum method。您还需要使用NSPhotoLibraryUsageDescription申请其他权限。请参阅权限信息here