最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

node js用multer上传图像并保存到firebase存储中

IT培训 admin 8浏览 0评论

node js用multer上传图像并保存到firebase存储中

我的ejs前端代码如下

<form action='/powerLink' method='post' enctype='multipart/form-data'> <input type='file' name='file'> <input type='submit' value='fileupload'> </form>

和我的js代码,接收文件如下

var storagee=firebase.storage().ref("test");
 app.post("/powerLink", multer.single('file'),function(req,res){
  let file = req.file;
  if(file){
    console.log(file);
     storage.put(file);
  }

当我console.log(文件)它的价值如下{栏位名称:'

file',
  originalname: 'appiicon.png',
  encoding: '7bit',
  mimetype: 'image/png',
  buffer:
   <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 e1 00 00 00 e1 08 06 00 00 00 3e b3 d2 7a 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 65 00 ... >,
  size: 15966 }

我以为它可以直接保存到我的存储和文件夹“ test”,然后将图像保存到该文件夹​​。但是什么也没发生。

我无法猜出不将图像文件上传到Firebase上的存储的原因是什么

回答如下:我已经在使用Firebase admin sdk和类似的东西(打字稿)之前完成了此操作:

async function uploadFile(file: Express.Multer.File, directory: string, fileName: string): Promise<string> { const bucket = firebaseAdmin.storage().bucket(); const fullPath = `${directory}/${fileName}`; const bucketFile = bucket.file(fullPath); await bucketFile.save(file.buffer, { contentType: file.mimetype, gzip: true }); const [url] = await bucketFile.getSignedUrl({ action: "read", expires: "01-01-2050" }); return url; }

node js用multer上传图像并保存到firebase存储中

我的ejs前端代码如下

<form action='/powerLink' method='post' enctype='multipart/form-data'> <input type='file' name='file'> <input type='submit' value='fileupload'> </form>

和我的js代码,接收文件如下

var storagee=firebase.storage().ref("test");
 app.post("/powerLink", multer.single('file'),function(req,res){
  let file = req.file;
  if(file){
    console.log(file);
     storage.put(file);
  }

当我console.log(文件)它的价值如下{栏位名称:'

file',
  originalname: 'appiicon.png',
  encoding: '7bit',
  mimetype: 'image/png',
  buffer:
   <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 e1 00 00 00 e1 08 06 00 00 00 3e b3 d2 7a 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 65 00 ... >,
  size: 15966 }

我以为它可以直接保存到我的存储和文件夹“ test”,然后将图像保存到该文件夹​​。但是什么也没发生。

我无法猜出不将图像文件上传到Firebase上的存储的原因是什么

回答如下:我已经在使用Firebase admin sdk和类似的东西(打字稿)之前完成了此操作:

async function uploadFile(file: Express.Multer.File, directory: string, fileName: string): Promise<string> { const bucket = firebaseAdmin.storage().bucket(); const fullPath = `${directory}/${fileName}`; const bucketFile = bucket.file(fullPath); await bucketFile.save(file.buffer, { contentType: file.mimetype, gzip: true }); const [url] = await bucketFile.getSignedUrl({ action: "read", expires: "01-01-2050" }); return url; }

发布评论

评论列表 (0)

  1. 暂无评论