JavaScript-файл в байтах [] - PullRequest
       21

JavaScript-файл в байтах []

6 голосов
/ 24 августа 2009

Можно ли прочитать файл из пути в JavaScript и создать байт [] этого файла?

Ответы [ 5 ]

18 голосов
/ 24 августа 2009

Да, вы можете - в Firefox, в любом случае. Другие браузеры могут или не могут разрешить это в будущем.

Создайте поле загрузки файла, чтобы пользователь мог выбрать файл и прочитать его в списке input.files . например. document.getElementById('myuploadfield').files[0].getAsBinary(). Это помещает каждый байт в один символ строки JavaScript, который примерно так же близок к байту [], как вы собираетесь получить.

Это довольно специализированный интерфейс и, вероятно, не то, что нужно - прислушайтесь к другим ответам, потому что очень возможно, что вы пытаетесь сделать что-то неподобающим образом. Трудно сказать без контекста.

6 голосов
/ 24 августа 2009

Существует две формы JavaScript: на стороне клиента и на стороне сервера. В клиентском JavaScript это невозможно, в то время как в серверном JavaScript возможно . Так что это зависит от того, используете ли вы клиентский или серверный JavaScript.

Тем не менее, клиентский JavaScript встречается гораздо чаще, и если бы вы использовали серверный JavaScript, вы, вероятно, знали бы ответ на свой вопрос. Поэтому я собираюсь выйти на конечность и сказать, что нет, невозможно прочитать по пути в JavaScript и создать байт [] из этого файла .

(Кроме того, неясно, что вы подразумеваете под байтом []; это не совсем обычное обозначение при использовании JavaScript. Вы уверены, что не говорите о Java? Java полностью отличается от JavaScript: в Java байт [] более распространенная запись.)

4 голосов
/ 24 августа 2009

Нет. JavaScript специально спроектирован так, чтобы иметь очень минимальный размер файлового ввода-вывода (например, файлы cookie), поскольку предоставление ему доступа к произвольным файлам (локальным и удаленным) было бы серьезной угрозой безопасности.

3 голосов
/ 13 сентября 2011

Вы, ребята, похоже, совсем забыли о мобильных платформах и javascript, разработанных для работы с флагами без обеспечения безопасности, установленными как всегда. Я прекрасно получаю доступ к своим файлам в своем коде JavaScript, который работает на моем iPhone. Вы просто не можете получить доступ к файловой системе пользователя, только к вашей собственной файловой системе, которая в основном является папкой, изолированной от остальной системы.

Сп его вопрос был совершенно обоснованным. Кроме того - вы должны искать BLOB-объекты Javascript (большие двоичные объекты) и типизированные массивы. Вы можете выделить «нормальные» массивы байтов, слов и длинных слов в JS, но люди редко используют их.

0 голосов
/ 24 августа 2009

Файловый ввод / вывод в Javascript считается серьезной угрозой безопасности:

http://forums.devshed.com/javascript-development-115/file-i-o-with-javascript-10376.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...