【问题标题】:Javascript cross-browser: read binary file into an arrayJavascript跨浏览器:将二进制文件读入数组
【发布时间】:2012-08-13 08:20:10
【问题描述】:

我想从我的 Javascript 代码中读取 MyBinaryFile.xxx,它包含二进制数据(例如 JPG)并放置在服务器上 (String url)。这个函数的结果应该是一个字节数组。

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

谢谢

【问题讨论】:

    标签: javascript character-encoding cross-browser binaryfiles readfile


    【解决方案1】:

    只有当你的文件与你的脚本在同一个域中时,才能访问小瓶 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]....
    });
    

    【讨论】:

    • 是的,它在脚本的同一个域中。你能提供一个示例代码的链接吗?谢谢
    • 您也可以从不同的域加载数据,如果该域允许通过Access-Control-Allow-Origin 标头进行跨源资源共享。这意味着,如果您控制源域,则可以将其配置为从您的其他域加载数据。
    • 答案是错误的。我刚试过,结果超过 127 的字节会变成 65533。所以这个 AJAX 根本不支持二进制。而且,数据类型($.type(data))是string,而不是字节数组。
    猜你喜欢
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 2021-04-29
    相关资源
    最近更新 更多