У меня есть WKWebView, который может посещать произвольные веб-сайты. Когда пользователь нажимает на любой элемент HTML <img>
, я бы хотел, чтобы он прозрачно сохранил это изображение (в виде файла) в каталог приложения tmp
, в идеале со стандартным заголовком (img.png
), и в идеале, чтобы он будет перезаписывать каждый раз.
Учитывая, что клиентский JavaScript не имеет доступа к файловой системе, я ожидаю, что полностью автоматическое решение будет включать FileManager
; однако я не знаю, как бы я передавал данные <img>
из WKWebView
в FileManager
экземпляр. Интересно, может ли понадобиться участие JavaScriptCore
, чтобы соединить данные между ними.
Я вижу, что полуавтоматические решения существуют , благодаря использованию атрибута HTML download
, в котором пользователю предлагается диалог "Сохранить как ...". Это не идеально, Я хотел бы, чтобы действие было прозрачным и не содержало ошибок пользователя. Однако это может оказаться единственным вариантом.
Я реализую это как на MacOS, так и на iOS, поэтому могу принять решение для любой платформы; Я ожидаю, что между ними будет небольшая разница.