filereader-basic.html 1.1 KB

12345678910111213141516171819202122232425262728
  1. <script src="../include.js"></script>
  2. <script>
  3. asyncTest((done) => {
  4. const array = ['This is some data to be read! 🦬'];
  5. let blob = new Blob(array, { type: "application/octet-stream"});
  6. let fileReader = new FileReader();
  7. let count = 0;
  8. // Trigger events in order of readAs Text->DataURL->ArrayBuffer
  9. fileReader.addEventListener("loadend", () => {
  10. ++count;
  11. if (count === 1) {
  12. println(`${count}: readAsText(): '${fileReader.result}' error: '${fileReader.error}'`);
  13. fileReader.readAsDataURL(blob);
  14. } else if (count === 2) {
  15. println(`${count}: readAsDataURL(): '${fileReader.result}' error: '${fileReader.error}'`);
  16. fileReader.readAsArrayBuffer(blob);
  17. } else if (count === 3) {
  18. println(`${count}: readAsArrayBuffer(): '${new TextDecoder().decode(fileReader.result)}' error: '${fileReader.error}'`);
  19. done();
  20. }
  21. });
  22. fileReader.readAsText(blob);
  23. });
  24. </script>