首页 > 解决方案 > TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数的类型必须为 > 字符串。收到未定义

问题描述

我正在做一个 MERN 项目。我正在尝试使用 multer 处理文件上传。API很好(当我发出post请求以使用邮递员上传文件时,它工作正常)。如果我从 react 发出请求,我会收到此错误:

internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name, 'string', value); ^

TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。
在 C:\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\multer\storage\disk 的 Object.join (path.js:424:7) 的 validateString (internal/validators.js:124:11) 处收到 undefined .js:37:28 at DiskStorage.filename [as getFilename] (C:\Users\ASUS\Desktop\MERN SOCIAL\api\index.js:32:5) 在 C:\Users\ASUS\Desktop\MERN SOCIAL\ api\node_modules\multer\storage\disk.js:34:10 at DiskStorage.destination [as getDestination] (C:\Users\ASUS\Desktop\MERN SOCIAL\api\index.js:29:5) at DiskStorage._handleFile (C:\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\multer\storage\disk.js:31:8) 在 C:\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\multer\lib\ make-middleware.js:144:17
在allowAll (C:\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\multer\index.js:8:3) 在wrappedFileFilter (C:\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\multer\ index.js:44:7) 在 Busboy。(C:\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\multer\lib\make-middleware.js:114:7) 在 Busboy.emit (events.js:400:28) 在 Busboy.emit (C :\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\busboy\lib\main.js:38:33)
在 PartStream。(C:\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\busboy\lib\types\multipart.js:213:13) 在 PartStream.emit (events.js:400:28) 在 HeaderParser。(C:\Users\ASUS\Desktop\MERN SOCIAL\api\node_modules\dicer\lib\Dicer.js:51:16){ 代码:'ERR_INVALID_ARG_TYPE'}

API 上用于处理上传的代码

发送上传请求的客户端上的代码

标签: node.jsreactjsfile-uploadmultermern

解决方案


推荐阅读