Нужно реализовать функционал загрузки и скачивания файла, загрузку сделал через input type="file", но получаю я его в base64, а при попытке сделать ссылку на скачивание через a href="base64" download="filename.file" получаю в консоль это:
Функционал загрузки
fileUpload(fileInput: HTMLInputElement, type: string, attached: IAttached): void {
fileInput.onchange = (e: Event) => {
const { files } = e.target as HTMLInputElement
[].forEach.call(files, (file: File) => {
const fileReader = new FileReader()
console.log(file)
fileReader.onload = (ev: ProgressEvent) => {
const fr = ev.target as FileReader
console.log(fr)
const attach: IAttach = {
name: file.name,
type: file.type,
size: file.size,
result: fr.result
}
if (file.type.match('image'))
attached.images.push(attach)
else if (file.type.match('video'))
attached.videos.push(attach)
else
attached.files.push(attach)
}
fileReader.readAsDataURL(file)
})
}
fileInput.click()
}
<div class="attached">
<div class="files">
<a *ngFor="let attach of attached.files"
[href]="attach.result"
download="{{ attach.name }}"
>
<span class="name">{{ attach.name }}</span>
<span class="size">{{ attach.size }}</span>
</a>
</div>
<div class="images"></div>
<div class="videos"></div>
</div>