typescript 尝试找到一种方法来上传一个blob到firebase并使用云函数编辑它

kwvwclae  于 2023-04-13  发布在  TypeScript
关注(0)|答案(1)|浏览(131)

我已经尝试从firebase函数上传文件到firestorage几天了,仍然没有成功。这是我最远的一次:

export const tester = functions.https.onRequest(async (request, response) => {
  await STORAGE.bucket("[url]").upload("dir", {
    destination: "dest",
  });

  response.send(STORAGE);
});

但还是不好因为我得上传blob
我已经尝试过在git中使用Google的例子,但是我的 typescript 有问题

function uploadRef() {
  // [START storage_upload_ref]
  // Create a root reference
  var storageRef = firebase.storage().ref();

  // Create a reference to 'mountains.jpg'
  var mountainsRef = storageRef.child('mountains.jpg');

  // Create a reference to 'images/mountains.jpg'
  var mountainImagesRef = storageRef.child('images/mountains.jpg');

  // While the file names are the same, the references point to different files
  mountainsRef.name === mountainImagesRef.name;           // true
  mountainsRef.fullPath === mountainImagesRef.fullPath;   // false 
  // [END storage_upload_ref]
}

有什么帮助吗?

xzabzqsa

xzabzqsa1#

如果从Firebase函数上传,文件可能位于函数示例中的其他位置,它可能位于函数目录(/workspace)或/tmp。您只能将文件保存在/tmp
确保pathString是目录和文件名的组合。例如:

const path = require('path')
const admin = require("firebase-admin")

admin.initializeApp({
    storageBucket: 'my-firebase-proj.appspot.com'
});
const bucket = admin.storage().bucket();

...

const filePath = path.join(__dirname, 'filename'); //assuming the file is at /workspace
await bucket.upload(filePath, {
  destination: "dest",
});
  • 更新 *:或者如果您正在流式传输文件,请考虑使用createWriteStream()

相关问题