[英]Coil 1.3.2 : Loading image from firebase not working - "No fetcher supports: gs://"
Image(
modifier = Modifier.size(100.dp).padding(16.dp),
painter = rememberImagePainter(
ImageRequest.Builder(LocalContext.current)
// .data("https://media-cldnry.s-nbcnews.com/image/upload/t_fit-760w,f_auto,q_auto:best/streams/2013/March/130326/1C6639340-google-logo.jpg")
.data(Firebase.storage.getReference("<Redacted>"))
.crossfade(false)
.listener(object : ImageRequest.Listener {
override fun onError(request: ImageRequest, throwable: Throwable) {
super.onError(request, throwable)
Log.e("CoilRequest", "${throwable.message}")
}
})
.placeholder(getShimmerPlaceholder())
.build()
),
contentDescription = "description",
contentScale = ContentScale.Fit
)
當我使用來自 web 的一些隨機image
時,注釋的代碼正在工作,但是當我使用來自 firebase 的托管圖像時,它在compose
上不起作用,並且我收到來自線圈的error
回調
Unable to fetch data. No fetcher supports: gs://
view
中使用了相同的方法,但它確實有效。
inline fun ImageView.load(data: data: StorageReference, builder: ImageRequest.Builder.() -> Unit) : Disposable {
val loadRequest = ImageRequest.Builder(context)
.data(data)
.target(this@load)
.apply(builder).build()
return FireCoil.loader(context).enqueue(loadRequest)
}
任何幫助將不勝感激。 謝謝!
編輯:在挖掘更多並嘗試不同版本之后,似乎我需要創建一個自定義提取器來使用 a.webp 格式,我不知道為什么它適用於ImageView
但不適用於Composable Image
。 是否有任何鏈接可以指導我如何為線圈創建自定義fethcher
? 謝謝你。
以gs://
開頭的 URL 是 Google Cloud Storage 的原生 URL 格式,許多常見庫無法識別 - 其中 Coil 顯然是其中之一。
要顯示數據,您有兩種選擇:
https://
開始,並將其傳遞給 Coil。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.