Javascript 使用angularjs提取字节数组中的多个文件内容
我正在使用此解决方案将文件解析为字节数组:Javascript 使用angularjs提取字节数组中的多个文件内容,javascript,angularjs,Javascript,Angularjs,我正在使用此解决方案将文件解析为字节数组: 这对我很有用。 但我想对多个文件执行此操作 var pniotApp=angular.module('pniotApp',[]); 控制器('pniotCtrl',函数($scope,$http,$location){ $scope.saveContent=函数($fileContent){ $scope.content=$fileContent; log($scope.content); }; }); pniotApp.directive('onR
这对我很有用。
但我想对多个文件执行此操作
var pniotApp=angular.module('pniotApp',[]);
控制器('pniotCtrl',函数($scope,$http,$location){
$scope.saveContent=函数($fileContent){
$scope.content=$fileContent;
log($scope.content);
};
});
pniotApp.directive('onReadFile',函数($parse){
返回{
限制:“A”,
范围:假,
链接:函数(范围、元素、属性){
var fn=$parse(attrs.onReadFile);
元素.on('change',函数(onChangeEvent){
var reader=new FileReader();
reader.onload=函数(onload事件){
var buffer=onLoadEvent.target.result;
var uint8=新的Uint8Array(缓冲区);
var结果=[];
对于(变量i=0;i
无法对“FileReader”执行“readAsArrayBuffer”:对象为
已经在忙着读斑点了
我认为这是一种正确的行为。您应该一个接一个地读取文件,然后重新创建Reader
a.e
var reader=newfilereader()代码>
因此:
for (j = 0; j < (onChangeEvent.srcElement || onChangeEvent.target).files.length;j++)
reader.readAsArrayBuffer((onChangeEvent.srcElement || onChangeEvent.target).files[j]);
没有测试它
无法对“FileReader”执行“readAsArrayBuffer”:对象为
已经在忙着读斑点了
我认为这是一种正确的行为。您应该一个接一个地读取文件,然后重新创建Reader
a.e
var reader=newfilereader()代码>
因此:
for (j = 0; j < (onChangeEvent.srcElement || onChangeEvent.target).files.length;j++)
reader.readAsArrayBuffer((onChangeEvent.srcElement || onChangeEvent.target).files[j]);
没有测试它
function readerEngine(file_){
var reader = new FileReader();
reader.onload = function (onLoadEvent) {
var buffer = onLoadEvent.target.result;
var uint8 = new Uint8Array(buffer);
var result = [];
for (var i = 0; i < uint8.length; i++) {
result.push(uint8[i]);
}
scope.$apply(function () {
fn(scope, {
$fileContent: result
});
});
};
reader.readAsArrayBuffer(file_);
}