看起来你只是将数组数组连在一起?为什么不把数组缓冲区附加在一个巨大的blob中.您必须一次迭代并附加每个arrayBuffer.您将寻求文件撰写人的最后附加数组.并且只读你的巨大的blob的一部分,你会得到一个斑点的一块,以避免浏览器崩溃.

附加功能

function appendToFile(fPath,data,callback){

fs.root.getFile(fPath, {

create: false

}, function(fileEntry) {

fileEntry.createWriter(function(writer) {

writer.onwriteend = function(e) {

callback();

};

writer.seek(writer.length);

var blob = new Blob([data]);

writer.write(blob);

}, errorHandler);

}, errorHandler);

}

再次为了避免读取整个Blob,只有在生成您提到的文件时才读取您的巨型Blob的部分/块.

部分阅读功能

function getPartialBlobFromFile(fPath,start,stop,callback){

fs.root.getFile(fPath, {

creation:false

}, function(fileEntry){

fileEntry.file(function(file){

var reader = new FileReader();

reader.onloadend = function(evt){

if(evt.target.readyState == FileReader.DONE){

callback(evt.target.result);

}

};

stop = Math.min(stop,file.size);

reader.readAsArrayBuffer(file.slice(start,stop));

}, errorHandler)

}, errorHandler);

}

您可能必须保留索引,也许在您的巨型BLOB的标题部分 – 我需要知道更多,然后才能给出更准确的反馈.

更新 – 避免配额限制,临时与持久

以回应您的意见

由于您正在使用临时存储,您似乎遇到存储配额问题.以下是从google发现的here的一个片段

Temporary storage is shared among all web apps running in the browser. The shared pool can be up to half of the of available disk space. Storage already used by apps is included in the calculation of the shared pool; that is to say, the calculation is based on (available storage space + storage being used by apps) * .5 .

Each app can have up to 20% of the shared pool. As an example, if the total available disk space is 50 GB, the shared pool is 25 GB, and the app can have up to 5 GB. This is calculated from 20% (up to 5 GB) of half (up to 25 GB) of the available disk space (50 GB).

为了避免此限制,您必须切换到持久性,它将允许您配额到磁盘上的可用空间.为此,请使用以下内容来初始化文件系统而不是临时存储请求.

navigator.webkitPersistentStorage.requestQuota(1024*1024*5,

function(gB){

window.requestFileSystem(PERSISTENT, gB, onInitFs, errorHandler);

}, function(e){

console.log('Error', e);

})

html文件变成巨大,巨大的JavaScript HTML5 blob(从大ArrayBuffers)在客户端构建一个巨大的文件...相关推荐

  1. HTML5期末大作业:旅游网站设计——旅游官网-滚动模板(6页) HTML+CSS+JavaScript HTML5期末考核大作业,网站——旅游网站

    HTML5期末大作业:旅游网站设计--旅游官网-滚动模板(6页) HTML+CSS+JavaScript HTML5期末考核大作业,网站--旅游网站 常见网页设计作业题材有 个人. 美食. 公司. 学 ...

  2. DIV布局 旅游官网-滚动模板(6页) HTML+CSS+JavaScript HTML5期末考核大作业,网站——旅游网站

    HTML5期末大作业:旅游网站设计--旅游官网-滚动模板(6页) HTML+CSS+JavaScript 文章目录 HTML5期末大作业:旅游网站设计--旅游官网-滚动模板(6页) HTML+CSS+ ...

  3. python中使用socket编程实现带有界面的客户端向服务端发送文件和下载文件

    一主界面: **二:发送文件界面:**首先需要开启发送文件服务端(这里需要注意的是每一次发送文件之前都需要开启一次服务端,因为我在这里将每一次发送文件之后就关闭了客户端和服务端之间的连接) 输出相关客 ...

  4. docx文件上传java_java上传文件通过mybatis存储到数据库的blob格式中.docx

    java上传文件通过mybatis存储到数据库的blob格式中.docx 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 上传文件通过 myb ...

  5. Android实例RSS客户端开发(2)--解析XML文件

    一 介绍完RSS之后,下面开始讲解如何解析RSS文件.因为RSS是基于XML的,所以我们就直接介绍如何解析XML文件. 解析XML的方式有很多种,大家比较熟悉的可能就是DOM解析. DOM(文件对象模 ...

  6. 如何制作一个注册表文件

    1.制作一个注册表文件首先要了解注册表的格式:(可先去导出一个注册表文件,用记事本打开做为参照) 第一行:REGEDIT4 或是Windows Registry Editor Version 5.00 ...

  7. JavaScript / HTML5中的音效

    本文翻译自:Sound effects in JavaScript / HTML5 I'm using HTML5 to program games; 我正在使用HTML5来编写游戏; the obs ...

  8. html5 跳转参数不显示_TeeChart for PHP教程(十二):Javascript / HTML5图表

    TeeChart for PHP包含100%的PHP源代码.它支持PHP5及更高的版本.它可作为一个调色板组件整合到针对PHP的Delphi编程环境中,从而让其他人在运行时以创建组件的方式来引用.第一 ...

  9. HTML5期末大作业:鲜花超市网站设计——鲜花超市(4页) HTML+CSS+JavaScript HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作

    HTML5期末大作业:鲜花超市网站设计--鲜花超市(4页) HTML+CSS+JavaScript HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作 作品介绍 1.网页作品简介 ...

最新文章

  1. n1进入recovery模式_启动自动变砖模式?三星Galaxy“智能”手机
  2. Python Django开发案例:POST方式实现登录功能
  3. VTK:超流线用法实战
  4. POI的入门:绘制图形
  5. ASP.NET Core中使用表达式树创建URL
  6. C语言实现的FFT与IFFT源代码,不依赖特定平台
  7. 英语笔记:词组句子:0712
  8. Nginx和FastDfs完整配置过程
  9. java环境安装教程_java环境搭建教程
  10. 计算机自检报错无法开机,电脑开机不自检无显示是怎么回事?
  11. 光谱分析中的变量选择
  12. Java版Spring Cloud B2B2C o2o鸿鹄云商平台--概述
  13. 正则正数,负数,整数,浮点数校验大全
  14. Java第五章 常用API
  15. Transflow安装时弹出错误:You are using pip version 9.0.1, however version 19.1.1 is available. You should co
  16. 光是无限远服务器的花海,第21次云垂纵横计划服务器互通投票结果公告
  17. CC3200学习系列--芯片简介
  18. 安卓机适合用的手机浏览器,可下载视频可锁屏
  19. 中兴Blade V2021 5G 刷机root教程 ZTE 8012N root 线刷包下载TWRP 刷入
  20. “威胁”员工全来上班后,马斯克“尴尬”了:车没地停、工位不够坐、Wi-Fi 还太差

热门文章

  1. RabbitMQ如何解决被重复消费和数据丢失的问题?
  2. Spring Cloud 微服务的那点事
  3. YFIOServer后台驱动算法优化
  4. sublime3中如何快速生成html头部信息
  5. Class.forName()、Class.forName().newInstance() 、New 三者区别!
  6. SOP 中的 Service
  7. 华为机试HJ11:数字颠倒
  8. OpenCV-理想高通低通滤波器(C++)
  9. 搭建apache_??4、Apache环境web搭建
  10. centos arm-linux-gcc,CentOS 5.5下arm-linux-gcc交叉编译环境的搭建