js读取二进制文件

function downloadData(url) {
    return new Promise((resolve,reject) => {
        var xhr = new XMLHttpRequest();
        xhr.responseType = "blob"; 
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4) {
                var status = xhr.status;
                if (status >= 200 && status < 300) {
                    resolve(xhr.response);
                } else {
                    reject(status);
                }
            }
        };
        xhr.open("GET", url, true);
        // xhr.setRequestHeader("Content-Type", "application/json");
        xhr.send(null);
    })
  }
   Promise.all([
      downloadData('https://houtaicdn.alva.com.cn/Data/track/idx'),
      downloadData('https://houtaicdn.alva.com.cn/Data/track/img.bv'),
      downloadData('https://houtaicdn.alva.com.cn/Data/track/query'),
    ]).then(data => {
      var markFiles = [];
      var reader = new FileReader(); //这是核心,读取操作就是由它完成.
        reader.readAsArrayBuffer(data[0]); //读取文件的内容,也可以读取文件的URL
        reader.onload = function() {
            markFiles.push(this.result);
            reader.readAsArrayBuffer(data[1]); //读取文件的内容,也可以读取文件的URL
            reader.onload = function() {
                markFiles.push(this.result);
                reader.readAsArrayBuffer(data[2]); //读取文件的内容,也可以读取文件的URL
                reader.onload = function() {
                    markFiles.push(this.result);
                }
            }
        }

    })
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app中,如果你希望使用plus.io来读取二进制文件,你需要先确认你的uni-app项目是基于HBuilderX开发的,并且使用了HBuilderX的uni-app插件。因为plus.io是基于HBuilderX平台提供的API,只能在HBuilderX中使用。 以下是使用plus.io来读取二进制文件的代码示例: ```javascript plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) { fs.root.getFile('path/to/file.bin', { create: false }, function(entry) { entry.file(function(file) { var reader = new plus.io.FileReader() reader.onloadend = function(evt) { // 读取成功 console.log(evt.target.result) } reader.onerror = function(err) { // 读取失败 console.error(err) } reader.readAsArrayBuffer(file) }, function(err) { // 获取文件失败 console.error(err) }) }, function(err) { // 获取文件Entry失败 console.error(err) }) }, function(err) { // 请求文件系统失败 console.error(err) }) ``` 在这个示例中,我们首先使用plus.io.requestFileSystem()方法请求私有文档目录(plus.io.PRIVATE_DOC),然后通过getFile()方法获取要读取文件的Entry对象。接下来,我们调用entry.file()方法获取文件对象,并创建一个FileReader对象来读取文件内容。最后,通过调用readAsArrayBuffer()方法来读取文件二进制内容。 请将'path/to/file.bin'替换为你实际的二进制文件路径。 需要注意的是,这段代码只能在HBuilderX中运行,无法在其他平台上运行,因为plus.io是HBuilderX平台提供的特定API。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值