Привет всем, я делаю проект, в котором мне нужно загрузить файл с URL-адреса. Теперь я загружаю файл и сохраняю его в личной папке, и он сохраняется в каталоге приложений. Я получаю этот файл через путь к файлу и отображаю в веб-представлении..Но если файл является изображением или видео, я не вижу его в фотоальбомах или галерее моего ipad.
Может кто-нибудь из вас помочь в решении этой проблемы.
И еще один момент, где я могу найти документы и PDF-файлы, сохраненные в личной папке через iPhone или iPad?
Заранее спасибо.
Решение проблемы
Вы просто сохраняете фотографии в личную папку, это папка-песочница на 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());
Наконец, мы должны реализовать эту службу зависимости на собственной платформе:
[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
.
Комментариев нет:
Отправить комментарий