Я работаю над автономным приложением на Javascript, которое преобразует <div>
в <canvas>
и сохраняет его как изображение на локальном диске.
Я бы предпочел, чтобы при сохранении не было диалогового окна и каждый раз сохранялось в одно и то же место (установленное в конфигурации).
Я все еще просматриваю документацию по Cache API
, но, похоже, нет никаких ответов относительно установки абсолютных путей. Во всех примерах показаны относительные пути. Я бы хотел установить что-то вроде C:/Users/Work/Presentation/file1.jpg
и перезаписывать себя при каждом сохранении.
Возможно ли это с помощью Cache API
или есть другой API офлайн-хранилища (localstorage
не будет работать, потому что он хранит только пары k-v), который лучше подходит для этого варианта использования? Существует ли уже существующая библиотека, облегчающая эту реализацию?
@charlietfl вы имеете в виду для всех браузеров? разве хром filesystem
API не может это сделать?
Нет. Браузер никак не позволит вам программно сохранить что-то на диске по определенному пути. Даже документы FileSystem
API говорит: «Этот интерфейс не предоставит вам доступ к файловой системе пользователей».
Почему бы не сохранить данные изображения как изображение в кодировке base-64 или BLOB в localStorage
? И иметь дело с кодированием/декодированием в вашем коде?
Вы можете попробовать эти пакеты:
https://www.npmjs.com/package/base64-img
https://www.npmjs.com/package/blob-util
И да. Вы должны изменить свое имя пользователя. ;)
Вы пробовали МешокДБ через их домашнюю страницу.
PouchDB was created to help web developers build applications that work as well offline as they do online.
It enables applications to store data locally while offline, then synchronize it with CouchDB and compatible servers when the application is back online, keeping the user's data in sync no matter where they next login.
Браузер не предоставляет доступ для записи файла по очевидным причинам безопасности