Страницы

Поиск по вопросам

суббота, 11 апреля 2020 г.

Как обратиться к локальному файлу по ссылке в приложении Chrome

#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

Комментариев нет:

Отправить комментарий