Как получить доступ к файлу в локальной системе, используя JavaScript?
Я использую jQuery Mobile Framework. У меня есть сервер, на котором размещен веб-сайт. Пользователь может подключиться к веб-сайту через мобильный браузер и загрузить файлы (.doc, .xls, .pdf и т. Д.) С этого веб-сайта. Мне нужно открыть файл, который программно сохраняется на мобильном телефоне пользователя с помощью JavaScript. Я пытался открыть с помощью location.href="file://sdcard/download/test.doc"
, Но это не сработало. Это показало, что разрешение отказано. Есть ли способ к этому? Пожалуйста помоги. Заранее спасибо.
3 ответа
Из соображений безопасности браузеры блокируют весь доступ к вашей локальной файловой системе. Вы должны будете использовать другие расширения для доступа к этим файлам или загрузить их в локальную переменную вместо файловой системы.
Если бы обычный старый JavaScript мог получить доступ к вашей файловой системе, плохие люди могли бы делать действительно плохие вещи с большей легкостью и эффективностью. Есть несколько возможностей, если вы не используете браузер:
http://www.c-point.com/JavaScript/articles/file_access_with_JavaScript.htm http://www.webreference.com/js/column71/
Эти статьи относятся к конкретной платформе и не используют лучшие практики для обеспечения безопасности. Пусть покупатель будет бдителен
Вы не можете получить доступ к файловой системе только через чистый веб-интерфейс JavaScript, особенно в кросс-платформенном или кросс-браузерном режиме. Но вы можете получить доступ к файловой системе из элементов управления ActiveX в Internet Explorer, из расширений Firefox и из апплетов Java, с которыми вы можете взаимодействовать с помощью JavaScript. Конечно, сначала вам нужно будет заставить пользователя установить ActiveX, расширение или апплет в браузере.
Нет никакого способа сделать это в Javascript. Доступ к локальным файлам категорически запрещен по соображениям безопасности.
Вы можете связать файл с помощью <a>
элемент, но даже это отключено в большинстве браузеров.