【发布时间】:2023-03-06 09:06:01
【问题描述】:
在我的 JSP/Servlet 设置中,为了显示用户配置文件图像,我通过在 src 标记中指定 servlet URL 然后从 servlet 响应返回图像来指示 img 标记从 servlet 获取图像。
Sevlet 在收到图像请求后会执行以下操作,
- 从数据库中获取
BLOB格式的图片 - 从
byte[] 和 准备图像
- 在
response对象中返回带有适当标题的图像。
我的问题是因为注册页面没有图片上传选项,所以新用户在数据库中没有他们的图片,即BLOB 是NULL。 如何为所有此类用户显示默认图像?
编辑 根据收到的 cmets,我只想指出这一点。我知道我们在数据库中设置默认值(在创建用户时)或在数据库中有 NULL 时返回默认图像数组的解决方案。 我已经在使用后一种情况了。通过这个问题,我只想讨论任何其他可能的解决方案。
【问题讨论】:
-
您是否尝试过在数据库中为“新用户”创建和存储默认图像?
-
这听起来合乎逻辑,但我认为它们也应该是其他解决方案,而不是使用大量默认图像加载数据库。
-
您可以尝试通过多种方式进行此操作,例如您可以尝试下载用户定义的图片,如果它为空则您正在下载默认图片;)
-
在 EAR/WAR 中保存默认用户图片,如果数据库返回 NULL,则返回该默认用户图片作为响应。
-
@Amit,我并不是说你应该上传“很多”默认图像,只需要 1 个。然后,您可以创建一个
SELECT语句,如果用户当前值为空,则返回用户图像或默认图像。查找 SQL 命令ISNULL。如果语句创建正确,这也适用于未注册用户。
标签: java html image jsp servlets