【发布时间】:2018-02-04 19:05:34
【问题描述】:
我需要从 Uri 下载图像并将其保存到 Xamarin Forms 上的图库中。
我怎样才能做到这一点?
【问题讨论】:
标签: image xamarin download xamarin.forms
我需要从 Uri 下载图像并将其保存到 Xamarin Forms 上的图库中。
我怎样才能做到这一点?
【问题讨论】:
标签: image xamarin download xamarin.forms
您需要使用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。
【讨论】: