编程语言
首页 > 编程语言> > javascript – 如何使用Firebase云功能存储创建文件夹

javascript – 如何使用Firebase云功能存储创建文件夹

作者:互联网

如何制作文件夹“帖子”?

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
      })
    })

  });

错误

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

解决方法:

除了/ tmp目录之外,Cloud Functions具有只读文件系统.您需要使/ tmp / posts之类的/ posts目录能够创建目录或写入.您还可以使用类似node-tmp的内容来更轻松地管理临时文件/目录的创建.

标签:javascript,node-js,firebase,firebase-storage,google-cloud-functions
来源: https://codeday.me/bug/20190714/1458119.html