“文件”类型的参数不可分配给“字符串 | 类型”的参数 formData 中的 Blob'

JaC*_*hNo 10 ionic-framework angular ionic4

我有一些上传代码,可以从文件输入字段获取文件并上传

  basicUpload(files: File[]){
    var formData = new FormData();
    Array.from(files).forEach((file) => formData.append('file', file))
    this.http.post('https://file.io', formData)
      .subscribe(event => {  
        console.log('done')
      })
  }
Run Code Online (Sandbox Code Playgroud)

这有效,我可以从浏览器上传文件,但是当我尝试为本机平台准备代码时。我收到这个错误

Argument of type 'File' is not assignable to parameter of type 'string | Blob'.
  Type 'File' is not assignable to type 'Blob'
Run Code Online (Sandbox Code Playgroud)

我假设我需要在这一行输入文件

Array.from(files).forEach(file => formData.append('file', file))
Run Code Online (Sandbox Code Playgroud)

但我不知道如何实现这一目标。

小智 5

代替

var formData = new FormData();
Run Code Online (Sandbox Code Playgroud)

使用

const formData:any = new FormData();
Run Code Online (Sandbox Code Playgroud)

注意:使用 const 作为类型比使用 var 更好。


Bha*_*upe 1

import { File } from '@ionic-native/file' 我认为您已在代码中导入这些包,您已经声明了数据类型,因为files: File[] 这里是对象类型不匹配,您只需将其声明为任何files: any或只是files