当前位置: 首页 > 知识库问答 >
问题:

Error here TypeError[ERR\u INVALID\u ARG\u TYPE]:“path”参数必须是string类型。接收类型对象

井礼骞
2023-03-14

嗨,我试图上传一个基地64文件从NodeJs到Firebase存储(谷歌云存储)使用下面给出的代码。但是我得到一个错误说明

在此错误TypeError[ERR_INVALID_ARG_TYPE]:路径参数必须是字符串类型。在validateString接收类型对象(内部/validators.js:125: 11)

代码是:

const key = require('../key.json');
const {Storage} = require('@google-cloud/storage');
//var gcs = require('@google-cloud/storage');
exports.uploadVideo = functions.https.onRequest((req, res) => {

    const gcs =new Storage({
        projectId: "<my-project-id>",
        keyFilename: key
      });

      const bucket = gcs.bucket("example.appspot.com");
      const gcsname = 'test.pdf';
      const file = bucket.file(gcsname);
      var pdfdata = "xNC9YUmVmU3RtIDE1NzQ+Pg0Kc3RhcnR4cmVmDQoyMTY5DQolJUVPRg==";
      var buff = Buffer.from(pdfdata, 'binary').toString('utf-8');
      const stream = file.createWriteStream({
        metadata: {
          contentType: 'application/pdf'
        }
      });

      stream.on('error', (err) => {
        console.log("Error here",err);
      });
      stream.on('finish', () => {
        console.log(gcsname);
      });
      stream.end(new Buffer.from(buff, 'base64'));})

有人能给我建议一条出路吗?我不明白这个问题。谢谢

共有1个答案

韩经武
2023-03-14

这意味着程序希望path参数的类型为string,例如:“path/to/which”。您给它一个对象示例:{path:“path/to/whatever”}

 类似资料: