Ich möchte Binärdaten aus einer Binärdatei in ein Byte-Array extrahieren. Ich habe Schwierigkeiten, es richtig zu funktionieren.Extrahieren Sie einen Binärdatei Inhalt in Byte-Array mit angularjs
können Sie die jsFiddle sehen hier: https://jsfiddle.net/alexsuch/6aG4x/
Die HTML:
<div ng-controller="MainCtrl" class="container">
<h1>Select text file</h1>
<input type="file" on-read-file="showContent($fileContent)" />
<div ng-if="content">
<h2>File content is:</h2>
<pre>{{ content }}</pre>
</div>
</div>
Der Javascript-Code:
var myapp = angular.module('myapp', []);
myapp.controller('MainCtrl', function ($scope) {
$scope.showContent = function($fileContent) {
$scope.content = $fileContent;
};
});
myapp.directive('onReadFile', function ($parse) {
return {
restrict: 'A',
scope: false,
link: function(scope, element, attrs) {
var fn = $parse(attrs.onReadFile);
element.on('change', function(onChangeEvent) {
var reader = new FileReader();
reader.onload = function(onLoadEvent) {
scope.$apply(function() {
fn(scope, {$fileContent:onLoadEvent.target.result});
});
};
reader.readAsText((onChangeEvent.srcElement || onChangeEvent.target).files[0]);
});
}
};
});
ich ein beschädigtes Text-Format erhalten, wie in dieser gezeigt:
Was mache ich falsch das ist cau Singen Sie den Inhalt so verstümmelt?
Möchten Sie oder speichern Sie die Datei anzuzeigen? Weißt du, in welchem Format die Datei gesendet wurde, Puffer/Base64? – chenop
Vielleicht kann dieser Ihnen helfen: http://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript – chenop
Was möchten Sie dem Benutzer zeigen? Binärdateien sind binäre Dateien, möchten Sie ihnen den Byte-Wert zeigen? Wenn ja, dann sollten Sie eine Funktion verwenden, um Ihr Array von Bytes in eine hexadezimale Zeichenfolge zu konvertieren – Walfrat