我可以使用 Glide 通过以下代码从我的本地 Web 服务器加载图像:Glide.with(this)
.load(SERVER_HOST_ADDRESS + userID + ".jpg")
.into((ImageView) mBinding.getRoot().findViewById(R.id.userImage));问题是,使用这种方法,我只能访问.jpg扩展程序,有时用户可能选择上传不同类型的图像。有没有办法让 Glide 处理从 URL 加载图像,但没有扩展?构建迭代器会很好,但可能没有必要。
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
有没有办法让 Glide 处理从 URL 加载图像,但没有扩展?
是的,尽管您的 Web 服务器可能不支持它。
我的解释是你想要:
.load(SERVER_HOST_ADDRESS + userID)
如果您的 Web 服务器在该 URL 提供一个图像,具有有效的图像 MIME 类型,Glide 将处理它。Glide 本身不关心文件扩展名——它需要一个提供有效图像 MIME 类型的有效 URL。
但是,我猜您的服务器将针对该 URL 返回 404 错误,因为服务器期望文件扩展名与服务器上的文件相匹配。
处理此问题的选项包括:
教服务器如何处理无扩展 URL
使用一致的图像类型(例如,让服务器将所有内容转换为 JPEG)
有一些元数据告诉您要加载什么 URL(例如,用于获取用户详细信息的 Web 服务调用具有提供图像 URL 的 JSON 属性)
按照您的建议进行操作,然后遍历各种可能性,看看其中一种是否可行
添加回答
举报
0/150
提交
取消