Я пытаюсь получить объект csv-файла из zipobject, который я извлек из zip-файла с помощью jszip.But Теперь я не могу прочитать фактический файл csv из этого zipobject Может ли кто-нибудь помочь? это мой zipobject, Как получить объект csv-файла из zipobject в jszip и angularjs
<!DOCTYPE html>
<html data-ng-app="myApp">
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script data-require="[email protected]" data-semver="2.4.0" src="https://cdn.rawgit.com/Stuk/jszip/v2.4.0/dist/jszip.js"></script>
</head>
<body data-ng-controller="testController">
<div>
<input type="file" name="archiveUpload" id="archiveUpload01">
</div>
<script>
angular
.module('myApp', [])
.run(function($rootScope) {
$rootScope.title = 'myTest Page';
})
.controller('testController', ['$scope', '$q',
function($scope, $q) {
$scope.extractArchive = function(zipfile) {
var dfd = $q.defer();
var reader = new FileReader();
reader.onerror = dfd.reject.bind(dfd);
reader.onload = function(e) {
if (!reader.result) dfd.reject(new Error("Unknown error"));
var zip = new JSZip(reader.result);
return dfd.resolve(zip);
};
reader.readAsArrayBuffer(zipfile);
return dfd.promise;
}
function onArchiveChange(evt) {
var target = evt.dataTransfer || evt.target;
var file = target && target.files && target.files[0];
$scope.extractArchive(file)
.then(function(zipFile) {
console.log(zipFile)
})
}
angular.element(document.querySelector('#archiveUpload01')).on('change', onArchiveChange);
}
])
</script>
</body>
</html>
Это мой код.
Спасибо за ответ. Откуда появился 'zip'? –
Могу ли я получить 'csv' в формате файла? –
Что вы имеете в виду в формате файла? Как Blob, готовый для 'saveAs'? Это будет 'var buf = zip.file (...). AsArrayBuffer(); var blob = new Blob ([buf]); 'Смотрите [старую документацию] (https://github.com/Stuk/jszip/blob/v2.6.1/documentation/api_zipobject.md) для доступных геттеров. Я также обновил свой ответ для используемой версии JSZip. –