0

从我的Javascript代码中,我想要阅读MyBinaryFile.xxx,其中包含二进制数据(例如JPG)并放在服务器上(String url)。这个函数的结果应该是一个字节数组。Javascript跨浏览器:将二进制文件读入数组

有没有办法以跨浏览器的方式做到这一点?

谢谢

回答

1

只有当你的文件是在脚本的同一个域,可以访问网址小瓶,那么你可以使用AJAX来加载该文件。只要把它当作正常的ajax调用即可。

例如,您的脚本http://localhost/script.html想要访问http://localhost/mybin.xxx中的文件。你可以用jQuery来做

$.get('/mybin.xxx', function(data){ 
    //data will be a byte array with data.length, data[0].... 
}); 
+0

是的,它在脚本的同一个域中。你能提供一个示例代码的链接吗?谢谢 – Arturo 2012-08-13 08:52:33

+2

如果该域允许通过“Access-Control-Allow-Origin”头共享源资源,则可以从不同域加载数据。这意味着如果您控制源域,则可以将其配置为从其他域加载数据。 – ArtBIT 2012-08-13 09:08:57

+1

答案是不正确的。我刚刚尝试过,结果127字节的字节将变成65533.所以这个AJAX根本不支持二进制。而且,数据类型('$ .type(data)')是'string',而不是字节数组。 – 2012-12-03 18:36:36