Как извлечь анимированный GIF из iOS галереи в Xamarin? - PullRequest
0 голосов
/ 05 февраля 2020

Моя проблема в том, что я пытаюсь выбрать GIF-файлы из файловой системы iOS, преобразовать их в байтовый массив, чтобы сохранить их в Azure, чтобы я мог отображать их в ленте новостей. Когда я конвертирую его в байтовый массив, он сохраняет его только как первый кадр. Я использовал метод Plugin.Media

await CrossMedia.Current.PickPhotoAsync(options)

для выбора GIF-файлов и последующего чтения в байтовый массив, используя

byte[] imageBytes = DependencyService.Get<IFileStorage>().ReadAllBytes(media.File.Path);

но когда я делаю это, количество байтов намного меньше, чем фактический размер файла. Он делал то же самое на Android, но я смог найти другой метод, взяв полный путь к gif из средства выбора файлов. На iOS галерея и файловая система отделены друг от друга, и GIF-файлы кажутся галерее автоматически go. Path из media.File - это jpeg, сохраненный во временном формате, даже не в формате gif, а AlbumPath имеет форму "assets-library: //asset/asset.GIF? Id = 18A3E086-BB90-4E4F-9AB2- 647ED790A08C & ext = GIF ", как я также получил от поиска с использованием ALAssetsLibrary. Ни один из них не помог получить полный файл.

Любые идеи очень ценятся.

...