javascript - TypeScript 和文件上传类型

标签 javascript reactjs typescript

我正在尝试设置文件上传的类型,但我不敢相信我必须定义文件对象的每个属性

export type FileProps = {
  path: string 
  lastModified: number
  slice: () => void
  stream: () => void
  text: () => void
  arrayBuffer: ArrayBuffer
  name: string
  size: number
  type: string
}

const [files, setFiles] = useState<FileProps[]>([])

我上传了一些文件并将它们存储在状态中,但是当我尝试添加到表单时

const formData = new FormData()

for (const file of files) {
  formData.append('files', file)
}

文件出错

enter image description here

最佳答案

如果你只使用 File,那么你会得到你想要的:

const [files, setFiles] = useState<File[]>([])

const formData = new FormData()

for (const file of files) {
  formData.append('files', file)
}

这应该让您获得此处记录的所有字段:https://developer.mozilla.org/en-US/docs/Web/API/File

See playground

关于javascript - TypeScript 和文件上传类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68214379/

相关文章:

Javascript 正则表达式模式匹配多个字符串( AND、OR、NEAR/n、P/n )

javascript - 如何将 EST 中的日期字符串与 UTC 中的日期对象进行比较?

javascript - HTML 表单中隐藏字段的限制

javascript - 如何在 JSX 中打印 props 对象,我收到 TypeError : Cannot read property of undefined

angular - 在 angular2 中找不到名称 'jquery'

typescript - 使用 pg-promise 将 SELECT 的结果直接映射到预定义的类

javascript - <tbody> 元素被填充到表格的第一列

javascript - 将组件作为 props 传递给另一个组件

css - Bootstrap 表响应

typescript - 如何在 Aurelia Validation 中为给定的 customRule 创建自定义方法