Как сохранить изображение в базе данных области в xamarin?

Мне нужно сохранить изображение (растровое изображение или массив байтов) в базе данных области, используя xamarin.

когда я пытался сохранить его в растровое изображение, появилась ошибка, что область не поддерживает растровое изображение. когда я пытался сохранить его в байтовом массиве, появилась ошибка, что его размер слишком велик. Также, когда я пытался сохранить путь к изображению, я не получил фактический путь, я получил только временный путь к изображению, так что это не помогло.

есть ли какое-нибудь решение для этого?


person maria nabil    schedule 29.07.2019    source источник
comment
вам действительно нужно сохранить изображение в Realm? Как правило, рекомендуется хранить большие файлы в файловой системе и просто ссылаться на них по пути или идентификатору в базе данных.   -  person Jason    schedule 30.07.2019
comment
Realm — это база данных с отображением памяти, которая не предназначена для хранения больших двоичных объектов. Как заявил Джейсон, предпочтительной практикой является использование поля в RealmObject, которое сопоставлено с изображением (будь то локальный кэшированный файл, веб-ресурс URL или ....). Примечание. Кроме того, из-за управления памятью iOS у вас никогда не может быть базы данных Realm, которая больше, чем самый большой нефрагментированный сегмент памяти, доступный вашему приложению, поэтому хранение больших двоичных объектов в ней — не очень хорошая идея.   -  person SushiHangover    schedule 30.07.2019
comment
но когда я попытался сохранить их только в области, я не получил их фактический путь, но дал мне временный путь, есть ли способ получить фактический путь?   -  person maria nabil    schedule 30.07.2019
comment
@maria, если у вас есть растровые изображения (изображения) большего размера, лучше хранить изображения на диске, а путь хранить в Realm. Где вы берете изображение? Галерея? Файл? Если вы хотите получить фактический путь, вы можете посмотреть: stackoverflow.com/questions/46975574/   -  person Cherry Bu - MSFT    schedule 30.07.2019