如何使用Firebase Cloud Functions Storage制作文件夹 [英] How can make folder with Firebase Cloud Functions Storage

查看:89
本文介绍了如何使用Firebase Cloud Functions Storage制作文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使文件夹成为帖子"?

存储桶-> gs://app.appspot.com/posts

bucket --> gs://app.appspot.com/posts

代码

exports.generateThumbnail = functions.storage.object()
  .onChange(event => {
    const object = event.data
    const filePath = object.name
    const fileName = filePath.split('/').pop()
    const fileBucket = object.bucket;
    const bucket = gcs.bucket(fileBucket)
    const tempFilePath = `/posts/${fileName}`

    return bucket.file(filePath).download({
      destination: tempFilePath
    })
    .then(() => {
      console.log('image downloaded locally to', tempFilePath)
      return spawn('convert', [tempFilePath, '-thumbnail', '400x400>', tempFilePath])
    })
    .then(() => {
      console.log('thumbnail created')
      // match end of string that contains a slash followed by 0 or more characters that are not a slash:
      const thumbFilePath = filePath.replace(/(\/)?([^\/]*)*/, '$1thumb_$2')
          console.log('afoter=thumbFilePath=='+thumbFilePath);
      return bucket.upload(tempFilePath, {
        destination: thumbFilePath
      })
    })

  });

错误

错误:EROFS:只读文件系统,打开'/posts/image.jpg'吗?

Error: EROFS: read-only file system, open '/posts/image.jpg'?

推荐答案

/tmp目录外,Cloud Functions具有只读文件系统.您需要使/posts目录类似于/tmp/posts才能创建目录或进行写入.您也可以使用 node-tmp 之类的方法来更轻松地管理临时文件/目录的创建.

Cloud Functions has a read-only filesystem except for the /tmp directory. You need to make your /posts directory something like /tmp/posts to be able to create directories or write. You could also use something like node-tmp to manage the creation of temp files/dirs more easily.

这篇关于如何使用Firebase Cloud Functions Storage制作文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆