glide에서 firebase storage 이미지 가져올 때 안보이는 이슈 해결

yeji·2021년 2월 18일
0

firestorage에 올린 이미지 url를 storageRef?.downloadUrl와 같은 형태로 downloadUrl 메서드를 이용하여 받아와 Glide에서 뿌려주는데
NotFound 에러가 뜨면서 이미지가 보이지 않았다.

시도 1. (해결 X)

사이즈가 작은 ImageView에서는 Glide로 이미지가 표현되길래, Glide 사용 시 Out of memory 문제인줄알고 Glide에서 downsampling을 진행했다.
그러나 문제가 해결되지는 않았다.
나중에 문제가 해결되고 이미지를 가져올 때 성능 향상이 있는 것은 보았다.

imageView.adjustViewBounds = true

Glide.with(context)
  .load(myUrl)
  .downsample(DownsampleStrategy.AT_MOST)
  .override(this.width, this.height)
  .skipMemoryCache(true)
  .diskCacheStrategy(DiskCacheStrategy.NONE)
  .into(imageView)

시도 2. (해결 O)

storageRef?.downloadUrl 메서드를 통해 받아온 url은 아래와 같은 형태였다.

.확장자?alt=media 이런 식으로 만들어주면 Glide에서 이미지가 잘 불러와진다!!!

아래는 변경 과정을 수행한 코드이고, alt=media는 firestorage 내부에 있는 media 폴더이다.

var myUrl = url
if (url.contains("alt=")) {
  myUrl = myUrl.split("alt=").first()
  myUrl = myUrl.substring(0, myUrl.length-1)
  myUrl += "?alt=media"
}

references:
삽질

profile
🐥

0개의 댓글