Как прервать загрузку файла в компоненте FileUpload PrimeNG? - PullRequest
0 голосов
/ 09 ноября 2018

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 после выбора определенных файлов?

...