Импорт Excel с использованием angular 7 - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь реализовать функцию импорта в своем приложении. Мне просто любопытно узнать, как создать formData в паре ключ-значение. ниже мой код

onImport(event) {
    // generally we append the file in formData
    const formData: FormData = new FormData();
    formData.append('file', event[0], event[0].name); 
}

Но мне нужно добавить файл в formdata в формате ключевого значения, ожидаемый formData должен быть примерно таким:

     let formdata = [
        {
            "key": "file",
            "type": "file",
            "src": "/home/abc/Entity_Sample.xlsx"
        },
        {
            "key": "startDate",
            "value": "19/05/2020",
            "type": "text"
        },
        {
            "key": "endDate",
            "value": "19/07/2020",
            "type": "text"
        }
    ]

my method-

    onImport(event) {
       const formData: FormData = new FormData();
        const obj ={
        key: 'startDate',
        value: event.StartDate,
        type: 'text'
        }
      const obj2 ={
        key: 'endDate',
        value: event.endDate,
        type: 'text'
      }
     this.entityService.importExcel(formData).subscribe(
        (response) => {
         //file imported
      });
  }

1 Ответ

0 голосов
/ 12 июля 2020

Вы можете добавить файлы в данные формы следующим образом:

const fileList = event.target.files;
const data = new FormData();

for (let i = 0; i < fileList.length; i++) {
  data.append('files[]', fileList.item(i));
}
...