Моя проблема в том, что я пытаюсь выбрать 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
. Ни один из них не помог получить полный файл.
Любые идеи очень ценятся.