微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Firebase 存储更改 Node.js 中图像的路径?

如何解决如何使用 Firebase 存储更改 Node.js 中图像的路径?

我有一个系统可以让新客户提出帐户请求。他们创建了自己的个人资料,并在临时路径中上传了自己的个人资料图片

当我手动接受请求时,我想使用云功能文件requests/{requestID}/profileImage.jpg 移动到 userFiles/{userID}/profileImage.jpg

搜索过,似乎无法剪切和粘贴文件。但是,我想可以复制图像并删除旧图像。

我知道如何删除文件,但我不知道如何获取临时文件并将其复制到新目的地。你有什么想法吗?

  • 来自网址?
  • 我是否必须将图像 URL 转换为 base64 才能重新上传

解决方法

我的错,这是可能的,而且很容易。这是文档 https://cloud.google.com/storage/docs/copying-renaming-moving-objects#storage-rename-object-nodejs,代码如下:

async function moveFile(oldEntirePath,newEntirePath) {
  var bucket = admin.storage().bucket();

  return bucket.file(oldEntirePath).move(newEntirePath)
  .then(resp => {

    let bucketPart = resp[1].resource.bucket
    let namePart = resp[0].id
    let tokenPart = resp[1].resource.metadata.firebaseStorageDownloadTokens

    const url = "https://firebasestorage.googleapis.com/v0/b/"+ bucketPart +"/o/"+ namePart +"?alt=media&token=" + tokenPart
    console.log(`Image url = ${url}`)
    return url

  })
  .catch(err => {
      console.log(`Unable to upload image ${err}`)
  })
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。