Firebase Cloud Storage получает URL-адрес файла без токена доступа - PullRequest
0 голосов
/ 06 января 2020

Я хотел бы получить доступ к изображениям без маркера доступа в URL-адресе хранилища Cloud Storage. В настоящее время метод getSignedUrl объекта возвращает URL-адрес примерно так:

https://firebasestorage.googleapis.com/v0/b/video-b2b9d.appspot.com/o/backgrounds_library%2F0-large.png?alt=media&token=cdf20e1a-2d0b-494e-aef7-3e47b479b1d0

Мне нужно использовать URL-адрес изображения с html canvas drawImage, и кажется, что URL с токеном доступа не будет работать в этом контексте. Я хотел бы получить доступ к изображениям с помощью прямого URL-адреса, например:

https://firebasestorage.googleapis.com/v0/b/video-b2b9d.appspot.com/o/backgrounds_library%2F0-large.png

Облачная функция:

export const onUpload = functions.storage.object().onFinalize(async object => {

  try {
    const bucket = admin.storage().bucket()
    const db = admin.firestore();
    const filePath = object.name;
    const file = bucket.file(object.name);



    const dir = path.dirname(filePath);

    const allowedDirs = [
      'backgrounds_library', 
      'music_library',
      'images_library',
      'icons_library'
  ]



  if(allowedDirs.includes(dir)) {

   const [ url ] = await file.getSignedUrl({
      'expires' : '03-09-2150',
      'action' : 'read'
  })


    await db.collection(dir).add({
      url,
      id: object.id,
    })
  } else {
    return false;
  }
  } catch (error) {
    console.log(error)
  }


})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...