我正试图使用邮递员将图像上传到firebase。运行firebase Service
时,我向路由发送post请求以及授权标头和图像文件,但控制台中出现以下错误:
TypeError[ERR_INVALID_ARG_TYPE]:“path”参数必须是string类型。接收类型未定义
exports.uploadImage = (req, res) => {
const BusBoy = require('busboy')
const path = require('path')
const os = require('os')
const fs = require('fs')
const busboy = new BusBoy({
headers: req.headers
})
let imageFileName
let imageToBeUploaded = {}
busboy.on('file', (fieldname, file, filename, encoding, mimetype) => {
console.log(fieldname, filename, encoding, mimetype)
if (mimetype !== 'image/jpeg' && mimetype !== 'image/png') {
return res.status(400).json({
error: '❌ Wrong file type submitted'
})
}
const imageExtension = filename.split('.')[filename.split('.').length - 1]
imageFileName = `${Math.round(
Math.random() * 1000000000000
)}.${imageExtension}`
const filepath = path.join(os.tmpdir(), imageFileName)
imageToBeUploaded = {
filepath,
mimetype
}
file.pipe(fs.createWriteStream(filepath))
})
busboy.on('finish', () => {
admin
.storage()
.bucket(config.storageBucket)
.upload(imageToBeUploaded.filpath, {
resumable: false,
metadata: {
metadata: {
contentType: imageToBeUploaded.mimetype,
},
},
})
.then(() => {
const imageUrl = `https://firebasestorage.googleapis.com/v0/b/${config.storageBucket}/o/${imageFileName}?alt=media`
return db.doc(`/users/${req.user.handle}`).update({
imageUrl
})
})
.then(() => {
return res.json({
message: '✅ Image uploaded successfully'
})
})
.catch((err) => {
console.error(err)
return res.status(500).json({
error: err.code
})
})
})
busboy.end(req.rawBody)
}
完整错误消息:
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
at validateString (internal/validators.js:112:11)
at Object.basename (path.js:1157:5)
at Bucket.upload (/Users/apple/Code/litter/litter-functions/functions/node_modules/@google-cloud/storage/build/src/bucket.js:2493:38)
at /Users/apple/Code/litter/litter-functions/functions/node_modules/@google-cloud/promisify/build/src/index.js:69:28
at new Promise (<anonymous>)
at Bucket.wrapper (/Users/apple/Code/litter/litter-functions/functions/node_modules/@google-cloud/promisify/build/src/index.js:54:16)
at Busboy.<anonymous> (/Users/apple/Code/litter/litter-functions/functions/handlers/users.js:133:8)
at Busboy.emit (events.js:210:5)
at Busboy.emit (/Users/apple/Code/litter/litter-functions/functions/node_modules/busboy/lib/main.js:37:33)
at /Users/apple/Code/litter/litter-functions/functions/node_modules/busboy/lib/types/multipart.js:52:13 { code: 'ERR_INVALID_ARG_TYPE' }
问题是,您在参数中键入ImageToBeUploaded.filpath
以上传(),但您的意思是键入ImageToBeUploaded.filepath
。缺少一个“e”,这使得整个表达式没有定义。
我正在开发一个electron应用程序,它试图从unsplash API下载一张照片,并将其设置为壁纸。当我调用API时,我得到200 OK状态并获得下载URL,但当我尝试使用axios stream方法下载照片时,我得到以下错误: 类型错误[ERR_INVALID_ARG_TYPE]:url参数必须是字符串类型。接收类型未定义 这是功能代码: 当我试图在函数中console.logDownloa
在以下代码中,我得到了此错误: TypeError[ERR_INVALID_ARG_TYPE]:原始参数的类型必须是Function。接收类型未定义 它说问题在第31行: 我在使用promisify图书馆时遇到问题。
我正在使用v12.2.0库编写一个discord bot,出现以下错误: 等待dTypeError[ERR_INVALID_ARG_TYPE]:id参数必须是字符串类型。收到未定义 这是我的代码:
问题内容: 我正在React的一个项目上工作,遇到了一个让我感到困惑的问题。 每当我运行时,都会出现此错误: TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须为字符串类型。接收类型未定义 我不知道为什么会这样,如果有人经历过,我将不胜感激。 问题答案: 要解决此问题,只需升级 react-scripts 软件包(使用来检查最新版本): 将您的 package.js
我在React做一个项目,遇到了一个让我难堪的问题。 每当我运行时,就会出现以下错误: TypeError[ERR_INVALID_ARG_TYPE]:路径参数必须是字符串类型。接收类型未定义 我不知道为什么会发生这种情况,如果有人经历过这种情况,我将不胜感激。
2018-08-29 10:55:45.832警告54751---[nio-8080-exec-1]O.H.Engine.jdbc.spi.sqlexceptionHelper:SQL错误:0,SqlState:42804 2018-08-29 10:55:45.833错误54751--[nio-8080-exec-1]O.H.Engine.jdbc.spi.sqlexceptionHelper: