Расширение размера изображения Firebase. Ссылка на измененные изображения - PullRequest
0 голосов
/ 24 января 2020

Впервые прыгнув в расширения Firebase, я почувствовал, что Image Resizer подойдет для моих нужд.

Тем не менее, документация по его использованию - мелочь, и я немного застрял.

В настоящее время я загружаю изображение, оно автоматически генерирует новое измерение и сохраняет их по желаемому пути. Однако я не могу понять, как вызвать изображение с измененным размером.

В настоящее время я сохраняю загруженное изображение с таким путем, как;

      var storageRef = firebase.storage().ref("Project_Image/" + this.projectName + "/" + file.name);

, а затем получаю исходную фотографию в качестве URL-адреса с использованием ссылки, например, так:

firebase.storage()
  .ref("Project_Image/" + this.projectName + "/" + file.name).getDownloadURL()
  .then((url) => {
    this.imageURL = url;
    // eslint-disable-next-line no-console
    console.log("Getting Image " + this.imageURL);
  })

Это работает, но проблема в том, что я не могу сослаться на вновь созданное изображение размером 600x300. Теперь он называется imagename_600x300.jpeg.

Я пытался использовать

.ref("Project_Image/" + this.projectName + "/" + file.name + "_600x300")

, но очевидно, что он захватывает «imagename.jpeg_600x300» и, следовательно, возвращает ошибку / undefined.

I Я не уверен, есть ли лучший способ изначально сохранить эти файлы, которые могли бы помочь с извлечением, или есть очевидный ответ.

спасибо!

1 Ответ

0 голосов
/ 24 января 2020

Похоже, вам нужно удалить расширение и поставить его после префикса. Примерно так должно работать:

function resizedName(fileName, dimensions = '600x300') {
  const extIndex = fileName.lastIndexOf('.');
  const ext = fileName.substring(extIndex);
  return `${fileName.substring(0, extIndex)}_${dimensions}${ext}`;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...