BlobBuilder behaviour: download it

How to download a dynamically created text file?

by rudiedirkx

HTML

<a href="">click to download</a>

CSS

p {
    margin: 0 0 15px;
}

JavaScript

BlobBuilder = window.WebKitBlobBuilder || window.MozBlobBuilder || window.OperaBlobBuilder;

// create BlobBuilder
var bb = new BlobBuilder;
bb.append("col1,col2,col3\r\nval1,val2,val3\r\nval4,val5,val6\r\n");

// create Blob / File
var blob = bb.getBlob('text/plain');

// create FileReader
var fr = new window.FileReader;

// when done reading: use dataURL to download file
fr.onload = function(e) {
    document.location = this.result;
};

document.querySelector('a').addEventListener('click', function(e) {
    e.preventDefault();
    e.stopPropagation();
    
    fr.readAsDataURL(blob);
}, false);