Обратите внимание на две вещи: во-первых, при обычной загрузке ввода вы можете использовать параметр accept
: https://www.w3schools.com/tags/att_input_accept.asp. Во-вторых, вы не можете полностью запретить такие загрузки с передней стороны, но вы можете отключить их, используя пакет, который вы использовали. Если вы хотите полностью отключить (а не только усложнить для пользователей переднего плана), вам также нужно будет обработать это на внутреннем сервере.
Пример, взятый из https://github.com/leewinder/ng2-file-drop:
import { Component } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'my-custom-component',
template: `<!-- my_custom.component.html -->
<!-- Set criteria for only image types under 1MB in size-->
<div ng2FileDrop class="custom-component-drop-zone"
[ng2FileDropSupportedFileTypes]="supportedFileTypes"
[ng2FileDropMaximumSizeBytes]="maximumFileSizeInBytes"
(ng2FileDropFileAccepted)="dragFileAccepted($event)"
</div>`
styles: [`
.custom-component-drop-zone {
width: 300px;
height: 300px;
}
`]
})
export class MyCustomComponent {
// Required criteria for all files (only image types under 1MB in size)
private supportedFileTypes: string[] = ['image/png', 'image/jpeg', 'image/gif'];
private maximumFileSizeInBytes: number = 1e+6;
// File being dragged has been dropped and is valid
private dragFileAccepted(acceptedFile: Ng2FileDropAcceptedFile) {
// Any files passed through here will have met the requested criteria
}
}
Вы специально хотите добавить [ng2FileDropSupportedFileTypes]="supportedFileTypes"
в HTML, а затем создать список допустимых типов файлов в вашем компоненте TypeScript: supportedFileTypes: string[] = ['image/png', 'image/jpeg', 'image/gif'];