I have a function to upload, but I have the following errors:
Property 'File' does not exist on type 'Window'. Property 'FileList' does not exist on type 'Window'. Property 'FileReader' does not exist on type 'Window'. Property 'result' does not exist on type 'EventTarget'.
MY Component
import { Component, OnInit } from '@angular/core';
import * as $ from 'jquery';
import { UploadService } from './upload.service';
import 'jquery-ui-bundle';
@Component({
selector: 'app-upload',
templateUrl: './upload.component.html',
styleUrls: ['./upload.component.css']
})
export class UploadComponent implements OnInit {
categories: any;
constructor( private uploadService: UploadService) { }
ngOnInit() {
$(document).ready(function() {
document.getElementById('pro-image').addEventListener('change', readImage, false);
$( ".preview-images-zone" ).sortable();
$(document).on('click', '.image-cancel', function() {
let no = $(this).data('no');
$(".preview-image.preview-show-"+no).remove();
});
});
var num = 1;
function readImage(event) {
if (window.File && window.FileList && window.FileReader) {
var files = event.target.files; //FileList object
var output = $(".preview-images-zone");
for (let i = 0; i < files.length; i++) {
var file = files[i];
if (!file.type.match('image')) continue;
var picReader = new FileReader();
picReader.addEventListener('load', function (event) {
var picFile = event.target;
var html = '<div class="preview-image preview-show-' + num + '">' +
'<div class="image-cancel" data-no="' + num + '">x</div>' +
'<div class="image-zone"><img id="pro-img-' + num + '" src="' + picFile.result + '"></div>' + '</div>';
$(".preview-image.preview-show-" + num).remove();
output.prepend(html);
num = num + 1;
});
picReader.readAsDataURL(file);
}
$("#pro-image").val('');
} else {
console.log('Browser not support');
}
}
}
}