【问题标题】:Firebase cloud function cannot upload simple txt fileFirebase云功能无法上传简单的txt文件
【发布时间】:2020-06-29 20:38:45
【问题描述】:

我正在尝试将一个简单的测试文件从我的工作目录上传到 Firebase 存储。为此,我创建了以下代码:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

 exports.Storage = functions.https.onCall((data, context) => {


const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const bucket = storage.bucket('myapp.appspot.com');

const options = {
  destination: 'Test_Folder/hello_world.dog'
};
bucket.upload('./tst.txt', options).then(function(data) {
  const file = data[0];
  if (file) {
      return file;
  }else{
    throw new Error("Irgendwas geht ned")
}
}).catch(e);
return 200;
});

不幸的是,firebase 总是说:

错误:ENOENT:没有这样的文件或目录,stat '/tst.txt'

我的文件位于我项目中的 ./tst.txt 我的目标是在我的 cloudfunction 中生成一个文本文件并将它们上传到 firebase 存储来存储它。当前没有文件存储在存储中。现在我希望能够上传已经创建的文件。 这是我的文件的组织方式:

【问题讨论】:

  • 请编辑问题以更清楚地描述您的项目结构。我们需要能够查看文件的实际位置。这里应该有足够的信息,以便任何人都可以重现该问题。
  • 我编辑了它,希望您现在能够理解我的问题并给我一些提示来解决它。感谢您的注释
  • 这并没有真正帮助。我们需要了解您的文件在磁盘上的组织方式,以了解您是如何部署 tst.txt 的,或者是否正在部署它。
  • @DougStevenson 我希望截图有帮助:)

标签: firebase google-cloud-functions google-cloud-storage


【解决方案1】:

Firebase CLI 将部署函数文件夹中的所有文件,node_modules 除外。您的 tst.txt 文件不在其中 - 它高一个文件夹。所以它甚至没有被部署。您必须将其移动到函数中才能使其在运行时对函数可用。

【讨论】:

    猜你喜欢
    • 2017-12-19
    • 2019-01-31
    • 2018-11-17
    • 2017-12-21
    • 2021-11-17
    • 2021-03-07
    • 2020-09-04
    相关资源
    最近更新 更多