FileReader.readAsArrayBuffer retour est null
Je suis Html5rocks tutoriel
http://www.html5rocks.com/en/tutorials/file/dndfiles/
et je suis en train d'utiliser readAsArrayBuffer au lieu de readAsBinaryString dans le découpage d'un fichier exemple (parce que je veux lire gif-tête pour trouver le fichier de résolution). Mais je suis coincé parce que evt.cible.résultat (tout en utilisant readAsBinaryString c'est une chaîne)
des idées?
EDIT : Code
reader.onloadend = function(evt)
{
if (evt.target.readyState == FileReader.DONE) { //DONE == 2
document.getElementById('byte_content').textContent = evt.target.result;
console.log(evt.target.result.byteLenght)
document.getElementById('byte_range').textContent =
['Read bytes: ', start + 1, ' - ', stop + 1,
' of ', file.size, ' byte file'].join('');
}
};
if (file.webkitSlice) {
var blob = file.webkitSlice(start, stop + 1);
} else if (file.mozSlice) {
var blob = file.mozSlice(start, stop + 1);
}
reader.readAsArrayBuffer(blob);
}
donc dans Firefox 13 j'arrive sur l'écran : [objet ArrayBuffer]
et sur le journal de la console : undefined
tandis que dans Chrome 18-je obtenir sur console : Uncaught TypeError: Cannot read property 'byteLenght', null
Où pétantes êtes-vous coincé? ceci est le code de base. Maintenant, quels sont vos modifications, à quoi vous attendiez-vous et ce qui ne va pas?
J'ai changé de lecteur.readAsBinaryString(blob); pour le projet.readAsArrayBuffer(blob) et je m'attendais à obtenir ArrayBufferbut-je obtenir la valeur null.
Ne peut pas reproduire en Chrome 18: jsfiddle.net/XDbnJ je vois
Je ne parviens toujours pas à reproduire l'erreur: jsfiddle.net/XDbnJ/1. Aussi,
J'ai changé de lecteur.readAsBinaryString(blob); pour le projet.readAsArrayBuffer(blob) et je m'attendais à obtenir ArrayBufferbut-je obtenir la valeur null.
Ne peut pas reproduire en Chrome 18: jsfiddle.net/XDbnJ je vois
[object arrayBuffer]
. Include code en question, y compris des détails sur votre navigateur et de vos attentes.Je ne parviens toujours pas à reproduire l'erreur: jsfiddle.net/XDbnJ/1. Aussi,
byteLength
doit être écrit avec th
, pas ht
. Poster une démo à l'aide de jsfiddle.net whihc montre votre problème.OriginalL'auteur wonglik | 2012-06-18
Vous devez vous connecter pour publier un commentaire.
Il y a une faute de frappe dans:
byteLenght
devrait êtrebyteLength
undefined
, et ne pas jeter unTypeError
.oui, c'était cela. Stupide moi.
OriginalL'auteur colxi