Je suivais tutoriel HTML5ROCKSretour FileReader.readAsArrayBuffer est nul
http://www.html5rocks.com/en/tutorials/file/dndfiles/
et je suis en train d'utiliser readAsArrayBuffer au lieu de readAsBinaryString à découper un exemple de fichier (parce que je veux lire en-tête gif pour trouver la résolution de fichiers). Mais je suis bloqué parce que evt.target.result (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 je reçois à l'écran: [objet ArrayBuffer]
et journal de la console: non défini
tout en chrome 18 je reçois sur la console: TypeError non intercepté: Impossible de lire la propriété 'byteLenght' de null
Où sont pétantes que vous coincé? [this] (http://www.html5rocks.com/en/tutorials/file/dndfiles/#toc-slicing-files) est le code de base. Maintenant, quelles sont vos modifications, qu'attendez-vous et qu'est-ce qui ne va pas? –
@RobW J'ai changé reader.readAsBinaryString (blob); à eader.readAsArrayBuffer (blob) et je m'attendais à obtenir ArrayBuffer mais je reçois null. – wonglik
Impossible de reproduire dans Chromium 18: http://jsfiddle.net/XDbnJ/ Je vois '[object arrayBuffer]'. Inclure * votre * code dans la question, y compris les détails sur votre navigateur et vos attentes. –