1. Резюме
Исходя из выбранного файла в компоненте FileUpload PrimeNG , я хочу прервать загрузку файла на внутренний сервер для определенных шаблонов имен файлов. Угловой 6.0.7, PrimeNG 6.0.2.
2. Первый подход
2,1. HTML часть
<p-fileUpload #fileUploader name="file" url="{{uploadUrl}}" accept=".jpeg,jpg"
auto="auto" mode="basic" chooseLabel=„Upload file“
(onBeforeUpload)="fileUploadOnBeforeUpload($event, fileUploader)">
</p-fileUpload>
2,2. TypeScript part
fileUploadOnBeforeUpload(event) {
if (condition) {
event.xhr.abort();
}
}
2,3. Результат
Метод был вызван без ошибок, но загрузка не была отменена.
3. Второй подход
3.1 TypeScript part
fileUploadOnBeforeUpload(event, fileUploader: FileUpload) {
if (condition) {
for (let file of fileUploader.files) {
const index = fileUploader.files.indexOf(file);
fileUploader.remove(event, index);
}
}
}
3,2 Результат
Выбранные файлы удаляются перед передачей, что «останавливает» загрузку по назначению. Но внутренний сервер по понятным причинам жалуется на пустой запрос в консоли браузера: Failed to load resource: the server responded with a status of 400 ()
.
4. Решаемая задача
Как прервать загрузку файла в компоненте PrimeNG FileUpload после выбора определенных файлов?