Flutter Desktop - Flutter-Desktop-Embedded, как сохранить файл на жесткий диск
Я работаю с рабочим столом Flutter некоторое время, и все идет хорошо с реализацией. До сих пор я реализовывал только пользовательский интерфейс, сеть и кэш в памяти. Теперь я столкнулся с реальной проблемой, для которой я не могу найти решение. Есть ли вероятность, что из коробки есть возможность сохранить файлы на жесткий диск? Я должен обработать base64, который содержит файл PDF, и поместить его куда-нибудь на жесткий диск. Должен ли я использовать функции, подготовленные для мобильных устройств, или это что-то более сложное во Flutter для настольных компьютеров, и мне нужно реализовать правильную функцию для платформы и выставить ее на Flutter? Я в основном ориентируюсь на экосистему Windows, если это что-то меняет. Единственное другое решение, которое приходит мне в голову, - это подготовить скрипт bash / power-shell, чтобы сделать это для меня, но, надеюсь, мне не нужно будет это делать:)
0 ответов
Лучший способ сделать это - использовать платформенный канал. Проект flutter-desktop-embedding содержит настольные реализации нескольких плагинов flutter / plugins, а в то время какpath_provider
там нет, его, безусловно, можно добавить (уже есть PR для реализации macOS). Тогда вы могли бы использоватьgetApplicationDocumentsDirectory()
так же, как на мобильном телефоне.
В качестве альтернативы вы можете увидеть, есть ли переменные среды, которые предоставляют вам нужные данные, поскольку они уже доступны для Dart, но это может быть не так надежно для разных версий / конфигураций ОС.