Merge pull request 'Added logic for save to disk btn' (#13) from feature/save-to-disk-again into main

Reviewed-on: https://git.walzen665.de/Walzen665/sharepulse/pulls/13
This commit is contained in:
Max W. 2024-03-05 22:58:11 +00:00
commit 2f1e1a81c7
2 changed files with 16 additions and 6 deletions

View File

@ -52,7 +52,9 @@
<p class="text-xl font-bold text-center text-gray-800 mb-6">Download complete!</p>
<p class="text-gray-600 text-center w-2/3 mb-3">File <strong>{{ fileName }}</strong> has been downloaded and saved to your drive.</p>
<p class="text-gray-600 text-center w-2/3 mb-6">The download took {{ downloadDuration }} seconds.</p>
<button class="btn btn-primary w-full max-w-md flex justify-center items-center mb-4 hover:scale-105 transition-transform duration-100" >
<button
(click)="saveDownloadedFile()"
class="btn btn-primary w-full max-w-md flex justify-center items-center mb-4 hover:scale-105 transition-transform duration-100" >
Save to disk (again)
</button>
<button class="btn btn-primary w-full max-w-md flex justify-center items-center mb-4 hover:scale-105 transition-transform duration-100" routerLink="/home">

View File

@ -175,13 +175,14 @@ export class DownloadComponent {
const a = document.createElement('a');
a.style.display = 'none';
a.href = url;
a.download = filename; // You can specify a filename here
a.download = filename;
a.id = 'fileDownloadBlob';
document.body.appendChild(a);
a.click();
this.saveDownloadedFile();
// Clean up by revoking the Blob URL and removing the temporary anchor
window.URL.revokeObjectURL(url);
document.body.removeChild(a);
// Clean up by revoking the Blob URL and removing the temporary anchor (currently disabled due to saveDownloadBtn)
// window.URL.revokeObjectURL(url);
// document.body.removeChild(a);
})
.catch(error => {
this.fileDownloadStarted = false;
@ -203,6 +204,13 @@ export class DownloadComponent {
this.downloadProgress = this.targetUploadProgress;
}
}
saveDownloadedFile() {
const a = document.getElementById('fileDownloadBlob');
if(a) {
a.click();
}
}
}
interface DownloadInfo {
downloadable: boolean;