无法使用 Angular JS 在 CSV 文件中保存超过 8Mb 的内容
Unable to save content more than 8Mb in a CSV file with Angular JS
我从后端收到一个字符串作为响应,其中包含超过 8MB 的 csv 内容。
使用此代码:
myService.getCsvExportContent(vm.searchParams).then(function (content) {
var encodedUri = encodeURI(content);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "MCsExport.csv");
document.body.appendChild(link);
link.click();
});
当结果小于 8Mb 时,它会创建整个文件,但当它大于 8Mb 时,它会将一半数据保存到文件中,我会丢失数据。 (我在浏览器中调试可以看到大小)
我尝试了 angular-file-saver 但我仍然遇到错误,依赖项的注入在 AngularJS 中对我不起作用。
我尝试用内容创建 Blob 对象,结果相同。
请帮忙。谢谢。
试试这个方法,对我有用:
myService.getCsvExportContent(vm.searchParams).then(function (content) {
var link = document.createElement("a");
var blob = new Blob([content],{type: 'text/csv;charset=utf-8;'});
var url = URL.createObjectURL(blob);
link.href = url;
link.setAttribute("download", "MCsExport.csv");
link.click();
});
感谢您的帮助。最后注入 ngFileSaver 对我有用。 bower cache clean
然后 bower install angular-file-saver --save-dev
并且我注入的对象被识别。
所以 FileSaver.saveAs(blob, "filePath.csv")
工作得很好。
var blob = new Blob([content], {type: 'text/csv;charset=utf-8'});
FileSaver.saveAs(blob, "Export.csv");
我从后端收到一个字符串作为响应,其中包含超过 8MB 的 csv 内容。
使用此代码:
myService.getCsvExportContent(vm.searchParams).then(function (content) {
var encodedUri = encodeURI(content);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "MCsExport.csv");
document.body.appendChild(link);
link.click();
});
当结果小于 8Mb 时,它会创建整个文件,但当它大于 8Mb 时,它会将一半数据保存到文件中,我会丢失数据。 (我在浏览器中调试可以看到大小)
我尝试了 angular-file-saver 但我仍然遇到错误,依赖项的注入在 AngularJS 中对我不起作用。
我尝试用内容创建 Blob 对象,结果相同。
请帮忙。谢谢。
试试这个方法,对我有用:
myService.getCsvExportContent(vm.searchParams).then(function (content) {
var link = document.createElement("a");
var blob = new Blob([content],{type: 'text/csv;charset=utf-8;'});
var url = URL.createObjectURL(blob);
link.href = url;
link.setAttribute("download", "MCsExport.csv");
link.click();
});
感谢您的帮助。最后注入 ngFileSaver 对我有用。 bower cache clean
然后 bower install angular-file-saver --save-dev
并且我注入的对象被识别。
所以 FileSaver.saveAs(blob, "filePath.csv")
工作得很好。
var blob = new Blob([content], {type: 'text/csv;charset=utf-8'});
FileSaver.saveAs(blob, "Export.csv");