我需要从Uri下载图像并将其保存到Xamarin Forms上的图库。
我怎样才能做到这一点?
答案 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。