我可以使用Glide通过以下代码从本地Web服务器加载图像:
Glide.with(this)
.load(SERVER_HOST_ADDRESS + userID + ".jpg")
.into((ImageView) mBinding.getRoot().findViewById(R.id.userImage));
问题在于,使用这种方法时,我有时只能访问.jpg
扩展名,而有时用户可能选择上载其他类型的图像。
Glide是否可以处理从URL加载图像但没有扩展名的方法?
构建迭代器会很好,但可能不必要。
答案 0 :(得分:1)
Glide是否有办法处理从URL加载图像但没有扩展名的问题?
是的,尽管您的Web服务器可能不支持它。
我的解释是你想要
.load(SERVER_HOST_ADDRESS + userID)
如果您的Web服务器在该URL上提供具有有效图像MIME类型的图像,则Glide将对其进行处理。 Glide本身并不关心文件扩展名-它需要一个提供有效图像MIME类型的有效URL。
但是,我猜您的服务器将为该URL返回404错误,因为服务器期望文件扩展名与服务器上的文件匹配。
处理此问题的选项包括:
教服务器如何处理无扩展名的网址
使用一致的图像类型(例如,让服务器将所有内容都转换为JPEG)
有一些元数据告诉您要加载的URL(例如,用于获取用户详细信息的Web服务调用具有提供图像URL的JSON属性)
按照您的建议进行操作,然后迭代各种可能性,看看其中一种是否可行
答案 1 :(得分:-1)
“使用毕加索代替Glide”
Picasso.get().load(IMG_URL + Image.extension).into(ImageView);
“我认为这对您会有所帮助”