Как использовать Devextreme Angular File Uploader без загрузки данных на сервер - PullRequest
0 голосов
/ 23 апреля 2020

Я хотел бы использовать компонент загрузчика файлов Devextreme angular для анализа некоторых данных в javascript, но я не могу найти способ не публиковать данные сначала на сервере.

Я могу анализировать данные в javascript с использованием библиотеки xlsx и тега html input и его события change:

<input type='file' (change)="onSelectFile($event)" multiple>

и .ts:

onSelectFile(event) {
    if (event.target.files && event.target.files[0]) {
      const filesAmount = event.target.files.length;
      for (let i = 0; i < filesAmount; i++) {
        const reader = new FileReader();

        reader.onload = (event:any) => {

          const bstr: string = event.target.result;
          const data = <any[]>this.excelService.importFromFile(bstr);
          // data is ready
        };
        reader.readAsBinaryString(event.target.files[i]);
      }
    }
  }

Может Я запрещаю загрузчику файлов загружать данные на сервер, чтобы я мог сначала проанализировать их на стороне клиента? Я хотел бы использовать этот компонент, потому что он обеспечивает проверки и правильное оформление из коробки.

Спасибо

Ответы [ 2 ]

1 голос
/ 02 мая 2020

можно попробовать.

<dx-file-uploader
  selectButtonText="Upload File"
  labelText="or Drop here"
  accept="*"
  uploadMode="useForm"
  [allowCanceling]="true"
  (change)="handleInputChange($event)"
></dx-file-uploader>
0 голосов
/ 24 апреля 2020

Я предлагаю использовать значение 'useForm' опции uploadMode , но не отправлять форму.

...