$scope.saveToPc = function (data, filename) {
if (!data) {
console.error('No data');
return;
}
if (!filename) {
filename = 'download.json';
}
if (typeof data === 'object') {
data = JSON.stringify(data, undefined, 2);
}
var blob = new Blob([data], {type: 'text/json'});
// FOR IE:
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob, filename);
}
else{
var e = document.createEvent('MouseEvents'),
a = document.createElement('a');
a.download = filename;
a.href = window.URL.createObjectURL(blob);
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':');
e.initEvent('click', true, false, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
}
};
La soluzione è spudoratamente copiato da http://bgrins.github.io/devtools-snippets/#console-save
Modifica Grazie alla @ufk cambiato Metodo obsoleto initMouseEvent
-initEvent
. Non so perché non funziona in MSIE 11, probabilmente a causa di restrizioni di sicurezza. E Microsoft Edge ha un nuovo modo di impostare tutte le proprietà dell'evento sintetico, ma non l'ho testato.
salvare i dati in cui sul PC? per quale scopo? nella cache? in un biscotto? nella memoria di sessione? in un database? devi essere più specifico su ciò che stai cercando di realizzare. – Claies
in che formato vuoi salvare questi dati sul tuo sistema - csv o semplice file di testo –