大家好,我正在做一个项目,我需要从 url 下载文件。现在我正在下载文件并将其保存在个人文件夹中,它保存在应用程序目录中。我通过文件路径获取该文件并以 Web 视图显示。但是,如果文件是图像或视频,则我在ipad的相册或图库中看不到。
你们中的任何人都可以帮助解决这个问题吗?
还有一件事,我在哪里可以找到通过iPhone或iPad保存在个人文件夹中的文档和pdf?
提前谢谢。
您只需将照片保存到个人文件夹,这是iOS上的沙盒文件夹。 您可以使用依赖服务将图像写入系统的相册。
首先在 PCL 中创建一个接口:
public interface ISavePhotosToAlbum
{
void SavePhotosWithStream(Stream stream);
}
下载映像后,使用它以本机编写:
HttpWebRequest aRequest = (HttpWebRequest)WebRequest.Create(urlStr);
HttpWebResponse aResponse = (HttpWebResponse)aRequest.GetResponse();
DependencyService.Get<ISavePhotosToAlbum>().SavePhotosWithStream(aResponse.GetResponseStream());
最后,我们应该在本地平台上实现这个Denpendency Service:
[assembly: Dependency(typeof(SaveToAlbum))]
namespace SavePhotosDemo.iOS
{
public class SaveToAlbum : ISavePhotosToAlbum
{
public void SavePhotosWithStream(Stream stream)
{
var imageData = NSData.FromStream(stream);
var image = UIImage.LoadFromData(imageData);
image.SaveToPhotosAlbum((img, error) =>
{
});
}
}
}
请注意:在iOS上,当您要将照片写入相册时,我们需要在info.plist中添加隐私。在iOS 11上添加NSPhotoLibraryAddUsageDescription
,iOS 10添加NSPhotoLibraryUsageDescription
。