文件的nodejs强大的类型不一致
Posted
技术标签:
【中文标题】文件的nodejs强大的类型不一致【英文标题】:nodejs formidable typing is inconsistent for Files 【发布时间】:2021-12-25 22:23:31 【问题描述】:使用强大来绕过nextjs不管理FormData的事实(在我的例子中是在上传文件时使用)
当调用根时,我正在解析主体如下。 Files.File
被输入为 "File | File[]"
虽然我在创建强大的实例时设置了 multiple=false
。在我看来,它应该是File
,因为multiple 选项设置为false。
但奇怪的是,在处理 files.file 对象时,它的类型是PersistentFile
,而不是File
。而且这两种类型都不兼容....
这里有什么问题?
运行“强大”:“^2.0.1”、“@types/formidable”:“^2.0.0”、“打字稿”:“4.4.4”
export const config =
api:
bodyParser: false,
,
;
const handler = async (
req: NextApiRequest,
res: NextApiResponse
): Promise<void> =>
const form = formidable( multiples: false );
form.parse(
req,
async (_, fields: formidable.Fields, files: formidable.Files) =>
console.log(files.file); <--- shows PersistentFile type in the console (see screenshot #2)
await bucketUpload(
String(fields.bucketName),
files.file,
String(fields.fileName)
);
);
res.status(200).json( text: "Hello" );
;
【问题讨论】:
【参考方案1】:看看the changelog
我们有一个open issue about types
在 v3 中,文件总是一个数组,所以我猜你可能想使用它。
【讨论】:
ok 然后等待 V3。谢谢以上是关于文件的nodejs强大的类型不一致的主要内容,如果未能解决你的问题,请参考以下文章
关于FileZilla上传文件后服务器端文件与本地文件大小不一致的解决方法