#google_chrome #файлы #javascript #изображения
Доброго времени суток! Можно-ли получить доступ к локальному файлу из приложения или расширения под Chrome используя пути такого вида: file:///C:\Folder\File.jpg C:\Folder\File.jpg При попытке создать объект File() из локальной ссылки появляются ошибки: Error: GET chrome-extension://acnoddeoamaikpmmdkehnkppmcgcpfjl/C:ImagesTestcat.jpg net::ERR_FILE_NOT_FOUND Not allowed to load local resource: C:\Images\myjpeg.jpg За полным разъяснением этого вопроса смотреть мой ответ.
Ответы
Ответ 1
Приложение или расширение Chrome не может получить доступ к локальному файлу напрямую, так как это было бы серьезным нарушением безопасности. Конечно, это ограничение можно обойти, как мне объяснили на stackoverflow через Native host. Правда, лично я не пробовал этого делать, так как свою проблему решил просто сохранением локальных файлов внутри Indexed BD. Подробнее обо всех известных мне способах хранения файлов и последующей работы с ними читайте далее. Работа с файлами через Indexed BD. Как сохранить файл в indexedbd? Ответ с разъяснениями здесь. Как получить файл по сети и сохранить в indexedbd? Ответ здесь. Используем FileSystem API для сохранения и работы с файлами. Справка по FileSystem API. Статья о работе с FileSystem API. Local Storage & Session storage & Cookie Storage Как работать с cookie storage? Справка здесь. Как сохранить файл в local storage? Как работать с session storage (временное хранилище)? Сами файлы (их объекты) для работы с ними Вы можете получить через drag&drop или . Почитать подробнее о том, как это делается с примерами и последующим разбором полетов можно здесь. Надеюсь, что ответ объяснил хотя бы поверхностно о работе с файлами в приложениях и расширениях Google Chrome.Ответ 2
Тут нужно немного по-другому. Попробуйте путь file://C:/0.JPG
Комментариев нет:
Отправить комментарий