Coil Kotlin Jetpack Compose 未加载图像

Sof*_*a44 4 android image kotlin android-jetpack-compose coil

我有这个图像想要加载,我正在 jetpack compose 中使用线圈来尝试加载它,但它没有加载,只是给了我一个空的可组合项。每当我尝试从任何其他网站加载不同的图像时,它都会起作用,但是当我使用同一个网站时,我会从中加载该图像。它不起作用。

这是我的代码:

@Composable
fun BookItem(
    title: String,
    cover: String?,
    unreadChapters: Int,
) {

    Box(
        modifier = Modifier
            .wrapContentSize(),
        contentAlignment = Alignment.Center
    ) {
        AsyncImage(
            model = ImageRequest.Builder(LocalContext.current)
                .data(cover)
                .crossfade(true)
                .build(),
            contentDescription = title,
            contentScale = ContentScale.Inside,
            modifier = Modifier
                .clip(RoundedCornerShape(size = 12.dp))
                .size(200.dp)
        )

    }
}
Run Code Online (Sandbox Code Playgroud)

这是链接: https://static.lightnovelworld.com/bookcover/300x400/01365-shadow-slave.jpg

我尝试使用滑翔而不是线圈,但遇到了同样的问题。

感谢致敬

Gab*_*tti 6

您可以使用以下方法对其进行调试:

val imageLoader = LocalContext.current.imageLoader.newBuilder()
    .logger(DebugLogger())
    .build()

    AsyncImage(
        //...
        imageLoader = imageLoader,
    )
Run Code Online (Sandbox Code Playgroud)

结果:

失败-https: //static.lightnovelworld.com/bookcover/300x400/01365-shadow-slave.jpg-coil.network.HttpException:HTTP 403:

您可以尝试使用以下内容在请求中添加一些标头:

AsyncImage(
    model = ImageRequest.Builder(LocalContext.current)
        .data(url)
        .setHeader("User-Agent", "Mozilla/5.0")
        .build(),
    //  
)  
Run Code Online (Sandbox Code Playgroud)