2009-08-24 31 views
5

是否可以从JavaScript路径中读取文件并创建该文件的字节[]?JavaScript文件到字节[]

+0

我想你应该给我们更多关于你究竟在做什么的线索。 – 2009-08-24 15:26:11

回答

5

有两种形式的JavaScript:客户端和服务器端。在客户端JavaScript中,这是不可能的,而在服务器端JavaScript中,它可能是。所以这取决于你使用的是客户端还是服务器端的JavaScript。

也就是说,客户端JavaScript更常见,如果您使用服务器端JavaScript,您可能会知道您的问题的答案。所以,我要走出去说,不,不可以从JavaScript中读取路径并从该文件创建一个字节[]。 (你还不清楚你说的是什么意思的字节[];这不是一个常见的符号,当你使用JavaScript时,你确定你不是在谈论Java?Java是完全不同于JavaScript的:在Java byte []中,是一种较为常见的符号)

+1

我相信他只是想知道他是否可以将文件的字节加载到数组中。 Javascript没有这种表示法,但是一组数字基本上会做同样的事情。你有关于serverside javascript的任何链接?我没有使用服务器端JavaScript,我很好奇它在哪里使用。 – Zoidberg 2009-08-24 12:19:01

+0

Zoidberg,看看 http://en.wikipedia.org/wiki/Server-side_JavaScript – 2009-08-24 12:25:33

+0

你如何做到这一点在服务器端JavaScript?现在在2015年更加普遍,但是关于这个网站上这类问题的所有答案都是关于客户端jd – CQM 2015-08-02 15:29:23

4

编号JavaScript被特意设计为具有非常小的文件IO(认为cookie),因为允许它访问任意文件(本地和远程)将是一个巨大的安全风险。

+1

对于所有编写文件I/O和安全风险的人来说:对于在浏览器文件I/O中执行的Web起始JavaScript是一种安全风险。虽然不依赖于编程语言。如此处所述,风险基本适用于所有编程语言。 – gimpf 2009-08-24 12:27:05

18

是的,你可以 - 在Firefox,反正。其他浏览器可能会或可能不会选择在将来允许它。

为用户创建一个文件上传字段以选择该文件,并通过input.files列表读取该文件。例如。 document.getElementById('myuploadfield').files[0].getAsBinary()。这会将每个字节放在一个JavaScript字符串的单个字符中,这与您将要获得的字节[]接近。

这是一个相当专业的界面,可能不是正确的事情 - 留意其他答案,因为它很可能是你试图以不恰当的方式做某件事。很难说没有上下文。

+1

的提高相关和很酷的信息。 – 2009-08-24 15:24:35

+0

+1 ..穆罕默德说了些什么 – rennat 2011-01-06 17:05:20

3

你们似乎已经完全忘记了移动平台和JavaScript设计运行,没有安全标志设置什么。我在我的iPhone上运行的JavaScript代码中访问我的文件。你不能访问用户文件系统,只能访问你自己的文件系统,这个文件系统基本上是一个与系统其他部分隔离的文件夹。

Sp他的问题是完全有效的。 另外 - 你应该查找Javascript blob(二进制大对象)和类型数组。你可以在JS中分配“正常”的字节,单词和长字数组,但人们很少使用它们。