拆分要使用角度上传的大文件
Split a big file to be upload using angular
我必须将一个大文件分成 2MB 的部分才能发送到服务器,但我找不到任何方法。 在 Angular 或 JavaScript 上。现在我正在使用angularFileUpload来获取它并将其作为大文件发送。如果有人有线索,请告诉我
您必须使用 HTML5 文件 API。您可以在此处找到有关它的更多信息。我无法提供任何代码示例,主要是因为我不知道您的服务器外观如何。你必须给用户一个交易令牌,他必须向你发送区块编号、区块数据和代币,这样你就可以在服务器上重新组装它。
你应该能够使用 FileAPI。我相信它为不支持HTML5文件API的旧浏览器提供了一个垫片。
下面是在角度文件上传存储库中使用它的示例。
你可以
试试下面的代码,这或许可以帮助你把文件读成块。在 HTML 文件中。在这里,Filereader作为文本读取,但我们可以选择其他方式,例如读取作为缓冲区等。
并在 TS 文件中
uploadDoc(event) {
let lastChunksize = 0;
var file = event.target.files[0];
this.readFile(file, lastChunksize, this.myCallback.bind(this));
}
myCallback(file, lastChunksize, result) {
lastChunksize = lastChunksize + 20000;
if(result) {
//Add you logic what do you want after reading the file
this.readFile(file, lastChunksize, this.myCallback.bind(this));
} else {
///end recursion
}
}
readFile(file,lastChunksize: number, callback) {
var fileBlob = file.slice(lastChunksize,lastChunksize+20000);
if(fileBlob.size !=0) {
let fileReader = new FileReader();
fileReader.onloadend= (result)=>{
return callback(file,lastChunksize,fileReader.result)
}
fileReader.readAsText(fileBlob);
}else {
return callback(file,lastChunksize,false);
}
}
相关文章:
- webpack代码拆分了handlerbs文件——结果是文件很大
- 将AngularJS控制器拆分为多个文件
- 使用JavaScript或jQuery拆分文件
- 如何在Gulp任务中拆分文件
- 如何拆分从 json 文件中读取的数据
- 读取制表符分隔的文件,逐行读取,而不是使用制表符分隔拆分每一行
- Typescript 0.9.1.1模块被拆分为几个.ts文件
- angular js:将一个大型控制器拆分为多个文件
- 加载静态HTML文件并按类拆分为数组
- KineticJS - 如何拆分对象和文件
- 如何在多个文件中拆分 JavaScript 对象定义
- 未捕获的语法错误:意外令牌非法 - 拆分文件时
- 拆分要使用角度上传的大文件
- 使用 require.js 将应用程序的 javascript 拆分为多个 JS 文件
- 将大型 JSON 文件拆分为多个文件
- Node.js将大文件拆分为多个部分,并对这些部分进行迭代
- 如何将Node.js文件拆分为多个文件
- 跨文件拆分AngularJS模块服务
- 将大型typescript文件拆分为跨多个文件的模块
- 如何将Jquery.js文件拆分为多个文件