javascript - 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)
}

文件出错

最佳答案

如果你只使用 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

https://stackoverflow.com/questions/68214379/

相关文章:

html - Bootstrap 警报按钮设计已关闭,单击时不会关闭

javascript - 使用 react-hook-form 重置功能时,Material-UI

arrays - 通过在 c 中迭代打印字符

python - Jinja2模板,去掉回车

common-lisp - 为什么在这种情况下 find 函数返回 NIL?

rust - 为什么 Rust 中原始类型之间没有隐式类型转换(强制转换)

javascript - 两个 TX 的双哈希

javascript - Js 文件作为 cypress 中的夹具未加载

postgresql - 为什么我的 PostgreSQL 在 CURRENT_TIMESTAMP

r - 从向量中提取重复 n 次的元素 (R)