Вопрос:

Типы FormData - Typescript 3.5

typescript

34 просмотра

1 ответ

5695 Репутация автора

Использование formdata:

const formData = new FormData()
formData.append('document_title', this.document.document_title)
formData.append('file', this.document.file)
formData.append('document_language', this.document.document_language)

Интерфейс документа:

export interface IDocument {
  document_title: string
  file: File | null
  document_language: number
}

Ошибка возникает, когда я пытаюсь formData.appendне Stringили blobя получаю сообщение об ошибке: то Argument of type 'number' is not assignable to parameter of type 'string | Blob'.Vetur(2345)же самое с файлом null. Я предполагаю, что FormDataу него есть собственный интерфейс в TS, который принимает только строки или капли? Как я могу изменить это поведение?

Не пиши про JSON.stringify()

Автор: Alexander Kim Источник Размещён: 12.07.2019 10:41

Ответы (1)


0 плюса

5695 Репутация автора

Решение

Решено с использованием as anyутверждения типа для компилятора:

formData.append('document_title', this.document.document_title)
formData.append('file', this.document.file as any)
formData.append('document_language', this.document.document_language as any)

JSON.stringify()мои данные номера кажутся мне неправильными. На бэкэнде я преобразовываю строки формданных в типы, предназначенные для хранения в БД.

Автор: Alexander Kim Размещён: 11.08.2019 07:56
Вопросы из категории :
32x32