使用 firebase 将文档、pdf 上传到 google 云。得到错误

Uploading documents, pdf's to google cloud using firebase. Get error

我正在尝试使用 busboy / express.js 将简单文档上传到 google 云。

我遇到了这个错误。

Error: Cannot find module 'busboy/lib/types/node_modules/dicer'

这是请求的代码。

// Upload a document for claim
exports.uploadDocument = (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 DocumentToBeUploaded = {};
  let DocumentFileName;
  // change this section to storing pdfs and docs etc

  busboy.on("file", (fieldname, file, filename) => {
    console.log(fieldname, file, filename);

    const documentExtension = filename.split(".")[
      filename.split(".").length - 1
    ];
    // 32756238461724837.png
    DocumentFileName = `${Math.round(
      Math.random() * 1000000000000
    ).toString()}.${documentExtension}`;
    const filepath = path.join(os.tmpdir(), DocumentFileName);
    DocumentToBeUploaded = { filepath, mimetype };
    file.pipe(fs.createWriteStream(filepath));
  });
  busboy.on("finish", () => {
    admin
      .storage()
      .bucket()
      .upload(DocumentToBeUploaded.filepath, {
        resumable: false,
        metadata: {
          metadata: {
            contentType: DocumentToBeUploaded
          }
        }
      })
      .then(() => {
        const docUrl = `https://firebasestorage.googleapis.com/v0/b/${config.storageBucket}/o/${DocumentFileName}?alt=media`;
        return db.doc(`/users/${req.Claim.ClaimId}`).update({ docUrl });
      })
      .then(() => {
        return res.json({ message: "document uploaded successfully" });
      })
      .catch(err => {
        console.error(err);
        return res.status(500).json({ error: "something went wrong" });
      });
  });
  busboy.end(req.rawBody);
};

目前只是想上传一个非常简单的文本文档。当然这不会那么困难,我在某个地方犯了一个简单的错误。

感谢帮助:)

您需要安装busyboy:

npm i busboy

您可以在以下 link:

中找到有关此 npm 包的更多信息

https://www.npmjs.com/package/busboy