Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript跨浏览器:将二进制文件读入数组_Javascript_Character Encoding_Cross Browser_Binaryfiles_Readfile - Fatal编程技术网

Javascript跨浏览器:将二进制文件读入数组

Javascript跨浏览器:将二进制文件读入数组,javascript,character-encoding,cross-browser,binaryfiles,readfile,Javascript,Character Encoding,Cross Browser,Binaryfiles,Readfile,我想从我的Javascript代码中读取MyBinaryFile.xxx,它包含二进制数据(如JPG)并放在服务器上(字符串url)。此函数的结果应为字节数组 有没有一种跨浏览器的方法可以做到这一点 谢谢只有当您的文件位于脚本的同一域中时,才可以访问url,然后才可以使用ajax加载该文件。就像对待普通的ajax调用一样 例如,http://localhost/script.html要访问http://localhost/mybin.xxx。您可以使用jQuery $.get('/mybin.x

我想从我的Javascript代码中读取
MyBinaryFile.xxx
,它包含二进制数据(如JPG)并放在服务器上(
字符串url
)。此函数的结果应为字节数组

有没有一种跨浏览器的方法可以做到这一点


谢谢

只有当您的文件位于脚本的同一域中时,才可以访问url,然后才可以使用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]....
});

是的,它在脚本的同一个域中。您能否提供指向示例代码的链接?感谢您也可以从不同的域加载数据,如果该域允许通过
访问控制允许源站
标题进行跨源站资源共享。这意味着,如果您控制源域,您可以将其配置为从其他域加载数据。答案不正确。我刚试过,结果是127以上的字节将变成65533。所以这个AJAX根本不支持二进制。而且,数据的类型(
$。type(data)
)是
字符串,而不是字节数组。