diff --git a/frontend/src/app/data-export/data-export.component.ts b/frontend/src/app/data-export/data-export.component.ts index fd230688268..a0ab0cb30d6 100644 --- a/frontend/src/app/data-export/data-export.component.ts +++ b/frontend/src/app/data-export/data-export.component.ts @@ -68,7 +68,15 @@ export class DataExportComponent implements OnInit { this.error = null this.confirmation = data.confirmation this.userData = data.userData - window.open('', '_blank', 'width=500')?.document.write(this.userData) + const blob = new Blob([this.userData], { type: 'application/json' }) + const url = URL.createObjectURL(blob) + const a = document.createElement('a') + a.href = url + a.download = 'data-export.json' + document.body.appendChild(a) + a.click() + document.body.removeChild(a) + URL.revokeObjectURL(url) this.lastSuccessfulTry = new Date() localStorage.setItem('lstdtxprt', JSON.stringify(this.lastSuccessfulTry)) this.ngOnInit() diff --git a/routes/dataExport.ts b/routes/dataExport.ts index ee3b4afcdf9..37dc7edad25 100644 --- a/routes/dataExport.ts +++ b/routes/dataExport.ts @@ -93,7 +93,7 @@ export function dataExport () { likesCount: number likedBy: string }) => ({ - message: review.message, + message: security.sanitizeSecure(review.message), author: review.author, productId: review.product, likesCount: review.likesCount,