img标签的 src属性,一般都是图片的路径。不过src也可以这样使用:
<img src="${contextPath}/album/image.do?r=2&id=${imgId}">
这时当页面加载图片时,会调用后台的方法去生成图片。后台的方法必须要输出一个图片。
String path = getPathById(imgId); // 得到图片路径
File file = new File(path);
....
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0L);
response.setHeader("Content-Length", file.length() + "");
InputStream in = new FileInputStream(file);
OutputStream out = response.getOutputStream();
...// 从in读,写到out里
这样就可以动态的加载图片了。
现在知道这其实并不特殊,我们正常的使用img的src的图片路径是在服务器可以读取的地方,如使用tomcat的话,图片如存在web-inf父目录下,tomcat会自动帮我们读取图片写入到response的输出流中。但是如果图片存在其他地方,tomcat无法找到,那就需要我们在程序中自己去读取图片写入输出流,如上面所示。
在输出图片时可以设置response的header中Cache-Control、dateheader的Expires来控制图片的缓存,可以避免每次加载图片都要做读取,写入输出流的操作。提高性能。关于Cache-Control和Expires的设置可参考下面的链接:
http://tongjian.iteye.com/blog/234715
http://www.cnblogs.com/cuixiping/archive/2008/05/04/1181056.html
设置图片缓存后,会导致图片更新后仍然显示缓存图片的问题,这种情况可为图片添加一个版本号,将版本号写入img的src属性里,这样图片变化后img的src地址就会变化,浏览器会重新加载图片,保证图片及时得到更新。
分享到:
相关推荐
在上面的示例中,我们使用 `HtmlUtils` 类的 `replaceHtmlTag` 方法将 img 标签的 src 属性值替换为新的值。最后,我们输出替换后的字符串结果。 结论 正则替换 img 标签中 src 值的方法是 HTML 处理中非常重要的...
// 处理源src="."之类的特殊情况转换 if (group.startsWith("'")) { list.add(group.substring(1, group.indexOf("'", 1))); } else if (group.startsWith("\"")) { list.add(group.substring(1, group.indexOf...
$str='<center><imgsrc="/uploads/images/***.jpg"height="120"width="120"> ...</center>'; preg_match('/*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\1[^>]*?\/?\s*>/i', $str, $match); echo $match[2]; // 输出src...
通过查看和修改源代码,开发人员可以更好地理解其工作原理,解决特定问题,或者为自己的应用程序添加特殊功能。这为FastReport的灵活性和适应性提供了保障。 资源部分可能包含字体、图标、图片等元素,这些都是报表...
本篇文章将深入讲解如何使用正则表达式来替换HTML字符串中的img标签的src值。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式匹配语言,用于在文本中查找、替换或提取符合...
程序的开头部分包含必要的导入声明,以便使用其他单元提供的类型和功能。 #### 6. 单元的结构与引用 在 Delphi 中,单元是组织代码的基本单位。每个单元可以定义自己的类型、变量和过程,并且可以引用其他单元。...
首先,文档提出一个简单的方法来使用正则表达式匹配<img>标签的src属性,并将其输出。具体来说,使用了正则表达式`/<img(.*?)src="(.+?)"[^>]*>/`来匹配图片的标签,并通过`preg_match`函数提取出src属性对应的URL。...
总的来说,虽然使用`Image`对象的`width`来判断背景图片加载状态在大多数情况下可能有效,但在某些特殊情况下,如大图片、网络延迟或跨域问题,可能会失效。因此,建议结合使用事件监听和适当的错误处理来确保更可靠...
2. 发送图片:使用(img src=图像所在的网址)格式可以发送图片,例如(img src=http://cardyinsha.com/christmas.gif)。注意不要发送太多图片,特别是大图像,以免影响聊天速度。 3. 发送动画图片:使用(img src=动画...
7. **源码开放**:作为Delphi源码,开发者可以深入理解系统架构,进行定制化开发,添加自定义功能,或者对现有功能进行优化,以适应不同餐饮企业的特殊需求。 通过《腾龙餐饮管理系统delphi源码》,学习者不仅可以...
<img src="图片链接地址" width=200> ``` 这里的`src`属性指定了图片的URL,`width`属性则定义了图片显示的宽度。例如,如果你想插入一张宽度为200像素的图片,链接为"http://example.com/image.jpg",代码应写为:...
更特殊类来专门处理除数为零的异常。在DivideByZeroException()中调用super()(专门初始化传如参数的方法)来传如异常处理后对象描述(初始状态)<BR>2、 第一步,创建一个Applet类完成完成两数相除的计算<BR>3...
在上面的代码中,我们使用了特殊字符单引号(')和双引号(")来包围 img 标签的 src 属性和 onerror 属性的值。在这里,我们需要注意特殊字符的转义问题,以免引发 JavaScript 语法错误。 结论 使用 img 标签的 ...
6. **源代码结构**:在"LabelImg-master"文件夹中,可能包含`src`目录下的Python源代码,`data`目录用于存放示例或测试数据,`docs`可能包含用户指南和API文档,`requirements.txt`列出项目依赖的Python库。...
// 输出:[{"imgsrc1":"a.jpg"},{"imgsrc2":"b.jpg"},{"imgsrc3":"c.jpg"},{"imgsrc4":"d.jpg"},{"imgsrc5":"e.jpg"}] ``` 4. 在线测试和性能分析 你可以使用在线HTML/CSS/JavaScript代码运行工具(如文中提到的...
+ "(src='" + img.src + "', sizingMethod='scale');\"></span>"; img.outerHTML = strNewHTML; i = i - 1; } } } if (navigator.userAgent.indexOf("MSIE") > -1) { window.attachEvent("onload", ...
本文将介绍如何使用Java正则表达式来过滤HTML标签,包括过滤所有以“<”开头以“>”结尾的标签、提取IMG标签的SRC属性等。 过滤所有以“<”开头以“>”结尾的标签 在HtmlRegexpUtil类中,我们定义了一个静态变量...
perl-e 'print "<IMGSRC=java\0script:alert(\\"XSS\\")>";'>out ``` 通过在脚本中插入空字符来绕过某些过滤器。 ##### 18. 空字符2 ```bash perl-e 'print "<SCR\0IPT>alert(\\"XSS\\")</SCR\0IPT>";'>out ``` 与...
<IMG SRC=java..ʡ..XSS')> ``` 通过特殊字符编码来表示JavaScript关键字,例如使用十六进制`&#xHH;`编码。 ##### 9. 使用`eval()`函数 ```html <SCRIPT>eval("alert('XSS');...
然而,在AngularJS中,我们不能直接在img元素的src属性中使用双花括号{{}}来绑定数据模型,因为AngularJS无法在编译时解析这些表达式,这样会导致浏览器无法正确地获取图片的地址,从而无法显示图片。 为了解决这个...