![](/img/trans.png)
[英]How can I download or save a .csv file in browser in Angular Front End Web App on click of a link? browser complaints no file
[英]How to save csv file to local path, not to download it?
我正在與Angular ts一起工作,並嘗試在本地保存csv文件,而不是下載它,任何人都可以幫助我,我不知道如何。 首先,我將內容保存在一個數組中,清理它,然后嘗試在本地保存它(最好在aseets文件夾中,但是我認為它是只讀的,對嗎?)。 我有貨。
這是我的代碼:
exportToCsv(filename: string, rows: object[]) {
if (!rows || !rows.length) {
return;
}
const separator = ',';
const keys = Object.keys(rows[0]);
const csvContent =
keys.join(separator) +
'\n' +
rows.map(row => {
return keys.map(k => {
let cell = row[k] === null || row[k] === undefined ? '' : row[k];
cell = cell instanceof Date
? cell.toLocaleString()
: cell.toString().replace(/"/g, '""');
if (cell.search(/("|,|\n)/g) >= 0) {
cell = `"${cell}"`;
}
return cell;
}).join(separator);
}).join('\n');
// not working
/* //if (this.plt.is('cordova'))
this.file.writeFile('.\\src\\assets', filename, csvContent, {replace: true}) */
// download
/* const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
if (navigator.msSaveBlob) { // IE 10+
navigator.msSaveBlob(blob, filename);
} else {
const link = document.createElement('a');
if (link.download !== undefined) {
// Browsers that support HTML5 download attribute
const url = URL.createObjectURL(blob);
link.setAttribute('href', url);
link.setAttribute('download', filename);
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
} */
}
您需要后端服務才能完成此任務。 Angular從ts文件構建javascript。 由於存在安全風險,瀏覽器中的Java語言無法直接修改計算機上的數據。 瀏覽器處理您的前端站點,如盒子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.