最近做了一个项目,用户上传图片后通过img控件显示出来。大家都知道img通过src属性就可以显示图片。如<img src="http://127.0.0.1/a/b/abc.jpg">。这样做没有任何问题,相信很多朋友也是这么做的。

但是这样做有个问题,图片必须是放在应用下面的。而且如果做了集群的话,那么图片就分散在富多个应用下面,很不好管理。这是我们自然会想到要是将图片放在一个地方就好了,最好是在应用外面,比如c盘的img目录下面。当然这样上传图片是很好做,但是要读取图片该怎么办呢?通过src="http://127.0.0.1/a/b/abc.jpg"这种办法是无法办到的。这时我们可以通过下面的办法读取制定盘符下面的图片:

@RequestMapping(value="showImg")
public void ShowImg(HttpServletRequest request,HttpServletResponse response) throws IOException{
String imgFile = request.getParameter("imgFile"); //文件名
String path= UrlUtil.getValue("goodsImg");//这里是存放图片的文件夹地址
FileInputStream fileIs=null;
try {
fileIs = new FileInputStream(path+"/"+imgFile);
} catch (Exception e) {
log.error("系统找不到图像文件:"+path+"/"+imgFile);
return;
}
int i=fileIs.available(); //得到文件大小
byte data[]=new byte[i];
fileIs.read(data); //读数据
response.setContentType("image/*"); //设置返回的文件类型
OutputStream outStream=response.getOutputStream(); //得到向客户端输出二进制数据的对象
outStream.write(data); //输出数据
outStream.flush();
outStream.close();
fileIs.close();
}

这里我是使用了springMVC框架。@RequestMapping(value="showImg")实际就是一个请求。

这时我们将img的src改为"http://127.0.0.1/a/showImg?imgFile=abc.jpg"就能显示图片了,也就是讲src改为一个请求地址,imgFile后是图片的名字。

java web实现img读取盘符下的图像的更多相关文章

  1. java web实现读取指定盘符下的图像(二)

    之前写了一篇文章是关于如何读取指定盘符下的图片,虽然功能可以实现,但是使用的是I/O流的方式,效率不高.现在发现还有一个更好的办法,使用也更加的方便. 我们知道,当我们的图片是放在tomcat下web ...

  2. java通过文件路径读取该路径下的所有文件并将其放入list中

    java通过文件路径读取该路径下的所有文件并将其放入list中   java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...

  3. 利用eclipse新建的java web项目没有部署描述符web.xml文件怎么办?

    原文转自:http://blog.csdn.net/suyu_yuan/article/details/50947007 利用eclipse新建的Java Web项目没有部署描述符web.xml文件, ...

  4. python遍历所有盘符下的图片并拷贝下来

    最近在学习python,闲着无聊就试着写啦这个小的脚本,虽然有很多不足,但是还是收获不少. 该脚本的功能: ①遍历本地计算机中的所有盘符,并将名称记录下来: ②循环遍历盘符下的所有图片(当然这里可以根 ...

  5. matlab读取指定路径下的图像

    利用matlab读取指定路径下的图像 %% 读入指定路径imgFolder下的图像imgName imgFolder = 'F:\博\快盘\图像+数据\images\文章实验图'; %指定路径 img ...

  6. 读取普通java web项目下的WEB-INF目录下的配置文件(application.xml,xx.properties等配置文件)

    一.在Java web工程WEB-INF下创建weixin.properties属性文件 weixin.properties属性文件里内容如下: 二.创建PropertiesUtils.java测试类 ...

  7. java显示本地磁盘所有盘符,显示桌面路径

    import java.io.File; import javax.swing.filechooser.FileSystemView; /** 显示本地磁盘根盘符,显示桌面路径 */ public c ...

  8. java web 资源文件读取

    前提:假设web应用test(工程名) webapps下面有一资源文件test.html 规则:在获取资源时一般使用的是相对路径,以符号/开头,而 / 代表什么取决于这个地址给谁使用.服务器使用时,/ ...

  9. java web项目中 获取resource路径下的文件路径

    public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ...

随机推荐

  1. iOS_SN_地图的使用(2)

    上一篇讲的是地图的基本使用,和注意事项,这一篇主要讲POI检索.百度地图SDK提供三种类型的POI检索:周边检索.区域检索和城市内检索.下面将以周边检索为例,向大家介绍如何使用检索服务. - (voi ...

  2. java中包的应用

    Do2.java package mypack; class Do2 { public static void main(String[] args) { packa.Do3 d=new packa. ...

  3. 动态绑定、阻止继承,final类和方法

    1.编译器查看对象的声明类型和方法名.当调用 x.f(param); 且隐式参数x生命为C类对象.这时候可能有多个名字都叫f,但是参数类型不一样的方法.编译器会一一列举C类中名为f的方法和其超类中访问 ...

  4. MySql多条SQL语句的批量处理

    pstmt= conn.prepareStatement(sql); for(int i=0;i<500;i++) { //准备sql语句 pstmt.setString(1, "tt ...

  5. GDI相关基础知识

    原文链接:http://blog.csdn.net/poem_qianmo/article/details/7333886 GDI(Graphics Device Interface) 图形设备接口, ...

  6. 基于Http原理实现Android的图片上传和表单提交

    版权声明:本文由张坤  原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/794875001483009140 来源:腾云阁  ...

  7. Android MVP模式 简单易懂的介绍方式

    主要学习这位大神的博客:简而易懂 Android MVP模式 简单易懂的介绍方式 https://segmentfault.com/a/1190000003927200

  8. 对拍 For Linux

    #!/bin/sh g++ -g gene.cpp -o gene g++ -g a.cpp -o a g++ -g b.cpp -o b while true; do  ./gene > in ...

  9. 深入理解7816(2)---关于ATR

    智能卡(此处主要指接触式CPU卡)本身始终处于被动的状态,所以终端设备在和智能卡进行数据交互的时候,需要首先给智能卡发指令,智能卡才会对应地给出应答.而智能卡告诉终端的第一句话就是ATR,亦即“复位应 ...

  10. bzoj1145

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1145 神题...... 定义f(abcd)为高度排名为abcd的个数,例如闪电的个数为f(13 ...