首页 > 解决方案 > 如何使用 nodejs 和 postman 将文件上传到 firebase?

问题描述

我有一个文件 nodejs 将图片(lion.jpg)添加到云存储

const firebase = require('firebase-admin');
const express = require('express');
const app = express();
const serviceAccount= require("./key9525")  

firebase.initializeApp({
  credential: firebase.credential.cert(serviceAccount),
  databaseURL: "https://myadress.firebaseio.com"  //example adress
});

const bucketName = 'myadress.appspot.com';
const filename ='./lion.jpg';     //example file

async function uploadFile() {

  const {Storage} = require('@google-cloud/storage');
  const storage = new Storage();

  await storage.bucket(bucketName).upload(filename, {

    gzip: true,
    metadata: {
      cacheControl: 'public, max-age=31536000',
    },
  });
  console.log(`${filename} uploaded to ${bucketName}.`);
}

uploadFile();

我有一个文件可以让我选择和上传照片,例如在邮递员中

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
    res.send('hello people');
});

app.listen(port, () => {
    console.log('listening to the port: ' + port);
});

var multer = require('multer');
var upload = multer({dest:'uploads/'});

app.post('/single', upload.single('profile'), (req, res) => {
  try {
    res.send(req.file);
  }catch(err) {
    res.send(400);
  }
}

我如何连接这些代码,以便在加载 nodejs 文件后,然后在邮递员中选择文件,将文件上传到 firebase? 谢谢你的所有提示

标签: node.jsfirebasegoogle-cloud-storagepostman

解决方案


您必须像您所做的那样将 multer 作为中间件传递给您的 POST 调用。请参考这个链接


推荐阅读