`
ganqing1234
  • 浏览: 171798 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

img src的特殊使用

阅读更多

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地址就会变化,浏览器会重新加载图片,保证图片及时得到更新。

 

 

分享到:
评论
2 楼 lb10001 2015-06-28  
不错,正好需要这个知识
1 楼 hucc 2013-12-25  
good 

相关推荐

    java正则替换img标签中src值的方法

    在上面的示例中,我们使用 `HtmlUtils` 类的 `replaceHtmlTag` 方法将 img 标签的 src 属性值替换为新的值。最后,我们输出替换后的字符串结果。 结论 正则替换 img 标签中 src 值的方法是 HTML 处理中非常重要的...

    取得Img中的src的值

    // 处理源src="."之类的特殊情况转换 if (group.startsWith("'")) { list.add(group.substring(1, group.indexOf("'", 1))); } else if (group.startsWith("\"")) { list.add(group.substring(1, group.indexOf...

    正则表达式提取img的src

    $str='&lt;center&gt;&lt;imgsrc="/uploads/images/***.jpg"height="120"width="120"&gt; ...&lt;/center&gt;'; preg_match('/*img\s+[^&gt;]*?src\s*=\s*(\'|\")(.*?)\1[^&gt;]*?\/?\s*&gt;/i', $str, $match); echo $match[2]; // 输出src...

    FastReport.v3.05.中文包 <img src="/images/sunny.gif" align="

    通过查看和修改源代码,开发人员可以更好地理解其工作原理,解决特定问题,或者为自己的应用程序添加特殊功能。这为FastReport的灵活性和适应性提供了保障。 资源部分可能包含字体、图标、图片等元素,这些都是报表...

    用正则表达式替换图片地址img标签

    本篇文章将深入讲解如何使用正则表达式来替换HTML字符串中的img标签的src值。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式匹配语言,用于在文本中查找、替换或提取符合...

    delphi7开发指南 <img src="/images/sunny.gif" align="absmiddl

    程序的开头部分包含必要的导入声明,以便使用其他单元提供的类型和功能。 #### 6. 单元的结构与引用 在 Delphi 中,单元是组织代码的基本单位。每个单元可以定义自己的类型、变量和过程,并且可以引用其他单元。...

    php正则提取html图片(img)src地址与任意属性的方法

    首先,文档提出一个简单的方法来使用正则表达式匹配&lt;img&gt;标签的src属性,并将其输出。具体来说,使用了正则表达式`/&lt;img(.*?)src="(.+?)"[^&gt;]*&gt;/`来匹配图片的标签,并通过`preg_match`函数提取出src属性对应的URL。...

    js判断背景图片是否加载成功使用img的width实现

    总的来说,虽然使用`Image`对象的`width`来判断背景图片加载状态在大多数情况下可能有效,但在某些特殊情况下,如大图片、网络延迟或跨域问题,可能会失效。因此,建议结合使用事件监听和适当的错误处理来确保更可靠...

    聊天室里展身手.pdf

    2. 发送图片:使用(img src=图像所在的网址)格式可以发送图片,例如(img src=http://cardyinsha.com/christmas.gif)。注意不要发送太多图片,特别是大图像,以免影响聊天速度。 3. 发送动画图片:使用(img src=动画...

    明日科技-腾龙餐饮 <img src="/images/sunny.gif" align="absmid

    7. **源码开放**:作为Delphi源码,开发者可以深入理解系统架构,进行定制化开发,添加自定义功能,或者对现有功能进行优化,以适应不同餐饮企业的特殊需求。 通过《腾龙餐饮管理系统delphi源码》,学习者不仅可以...

    关于网页制作的代码

    &lt;img src="图片链接地址" width=200&gt; ``` 这里的`src`属性指定了图片的URL,`width`属性则定义了图片显示的宽度。例如,如果你想插入一张宽度为200像素的图片,链接为"http://example.com/image.jpg",代码应写为:...

    JSTL详细标签库介绍

    更特殊类来专门处理除数为零的异常。在DivideByZeroException()中调用super()(专门初始化传如参数的方法)来传如异常处理后对象描述(初始状态)&lt;BR&gt;2、 第一步,创建一个Applet类完成完成两数相除的计算&lt;BR&gt;3...

    img 加载网络图片失败 显示默认图片的方法

    在上面的代码中,我们使用了特殊字符单引号(')和双引号(")来包围 img 标签的 src 属性和 onerror 属性的值。在这里,我们需要注意特殊字符的转义问题,以免引发 JavaScript 语法错误。 结论 使用 img 标签的 ...

    labelImg-master.zip

    6. **源代码结构**:在"LabelImg-master"文件夹中,可能包含`src`目录下的Python源代码,`data`目录用于存放示例或测试数据,`docs`可能包含用户指南和API文档,`requirements.txt`列出项目依赖的Python库。...

    js获取对象,数组所有属性键值(key)和对应值(value)的方法示例

    // 输出:[{"imgsrc1":"a.jpg"},{"imgsrc2":"b.jpg"},{"imgsrc3":"c.jpg"},{"imgsrc4":"d.jpg"},{"imgsrc5":"e.jpg"}] ``` 4. 在线测试和性能分析 你可以使用在线HTML/CSS/JavaScript代码运行工具(如文中提到的...

    实现ie6的png图片透明的2种方法

    + "(src='" + img.src + "', sizingMethod='scale');\"&gt;&lt;/span&gt;"; img.outerHTML = strNewHTML; i = i - 1; } } } if (navigator.userAgent.indexOf("MSIE") &gt; -1) { window.attachEvent("onload", ...

    Java正则表达式过滤html标签1[参考].pdf

    本文将介绍如何使用Java正则表达式来过滤HTML标签,包括过滤所有以“&lt;”开头以“&gt;”结尾的标签、提取IMG标签的SRC属性等。 过滤所有以“&lt;”开头以“&gt;”结尾的标签 在HtmlRegexpUtil类中,我们定义了一个静态变量...

    js脚本攻击大全

    perl-e 'print "&lt;IMGSRC=java\0script:alert(\\"XSS\\")&gt;";'&gt;out ``` 通过在脚本中插入空字符来绕过某些过滤器。 ##### 18. 空字符2 ```bash perl-e 'print "&lt;SCR\0IPT&gt;alert(\\"XSS\\")&lt;/SCR\0IPT&gt;";'&gt;out ``` 与...

    XSS跨站攻击,注入代码整理,大全

    &lt;IMG SRC=&#x6A&#x61&#x76&#x61..ʡ..&#x58&#x53&#x53&#x27&#x29&gt; ``` 通过特殊字符编码来表示JavaScript关键字,例如使用十六进制`&#xHH;`编码。 ##### 9. 使用`eval()`函数 ```html &lt;SCRIPT&gt;eval("alert('XSS');...

    AngularJS基础 ng-src 指令简单示例

    然而,在AngularJS中,我们不能直接在img元素的src属性中使用双花括号{{}}来绑定数据模型,因为AngularJS无法在编译时解析这些表达式,这样会导致浏览器无法正确地获取图片的地址,从而无法显示图片。 为了解决这个...

Global site tag (gtag.js) - Google Analytics