如何解决在使用Naive UI Upload组件时 file.name 为 undefined?
在使用Naive UI 的 Upload 组件时,有如下代码逻辑(已做简化)
我想利用 generateData
在提交的表单上附加数据,但直接读取 file.name
始终为 undefined
,直接打印 file
到控制台和使用 JSON.stringify
却能获得符合预期的结果。
<script lang="ts" setup>
const generateData = (file: UploadFileInfo) => {
const objectName = file.name
console.log('generateData', objectName)
console.log(JSON.stringify(file, null, 2))
console.log(file)
return {
...pick(ossDirectPostObjectInfo.value!, ['ossAccessKeyId', 'policy', 'signature']),
key: objectName,
'x-oss-meta-user': userStore.userVO!.id.toString()
}
}
</script>
<template>
<n-upload
:data="generateData"
/>
</template>
期望正常读取 file.name
回复
1个回答
test
2024-06-20
抱歉,是我误将 ({ file: UploadFileInfo }) => Object 当成 (file: UploadFileInfo) => Object 了,已解决。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容