Хранение Javascript в автономном приложении

Я работаю над автономным приложением на Javascript, которое преобразует <div> в <canvas> и сохраняет его как изображение на локальном диске.

Я бы предпочел, чтобы при сохранении не было диалогового окна и каждый раз сохранялось в одно и то же место (установленное в конфигурации).

Я все еще просматриваю документацию по Cache API, но, похоже, нет никаких ответов относительно установки абсолютных путей. Во всех примерах показаны относительные пути. Я бы хотел установить что-то вроде C:/Users/Work/Presentation/file1.jpg и перезаписывать себя при каждом сохранении.

Возможно ли это с помощью Cache API или есть другой API офлайн-хранилища (localstorageне будет работать, потому что он хранит только пары k-v), который лучше подходит для этого варианта использования? Существует ли уже существующая библиотека, облегчающая эту реализацию?

Браузер не предоставляет доступ для записи файла по очевидным причинам безопасности

charlietfl 10.04.2019 02:40

@charlietfl вы имеете в виду для всех браузеров? разве хром filesystem API не может это сделать?

I should change my Username 10.04.2019 03:02

Нет. Браузер никак не позволит вам программно сохранить что-то на диске по определенному пути. Даже документы FileSystem API говорит: «Этот интерфейс не предоставит вам доступ к файловой системе пользователей».

yqlim 10.04.2019 03:34
Расширения могут.
Kaiido 10.04.2019 03:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
69
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Почему бы не сохранить данные изображения как изображение в кодировке 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.

Другие вопросы по теме