java web实现img读取盘符下的图像
最近做了一个项目,用户上传图片后通过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读取盘符下的图像的更多相关文章
- java web实现读取指定盘符下的图像(二)
之前写了一篇文章是关于如何读取指定盘符下的图片,虽然功能可以实现,但是使用的是I/O流的方式,效率不高.现在发现还有一个更好的办法,使用也更加的方便. 我们知道,当我们的图片是放在tomcat下web ...
- java通过文件路径读取该路径下的所有文件并将其放入list中
java通过文件路径读取该路径下的所有文件并将其放入list中 java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...
- 利用eclipse新建的java web项目没有部署描述符web.xml文件怎么办?
原文转自:http://blog.csdn.net/suyu_yuan/article/details/50947007 利用eclipse新建的Java Web项目没有部署描述符web.xml文件, ...
- python遍历所有盘符下的图片并拷贝下来
最近在学习python,闲着无聊就试着写啦这个小的脚本,虽然有很多不足,但是还是收获不少. 该脚本的功能: ①遍历本地计算机中的所有盘符,并将名称记录下来: ②循环遍历盘符下的所有图片(当然这里可以根 ...
- matlab读取指定路径下的图像
利用matlab读取指定路径下的图像 %% 读入指定路径imgFolder下的图像imgName imgFolder = 'F:\博\快盘\图像+数据\images\文章实验图'; %指定路径 img ...
- 读取普通java web项目下的WEB-INF目录下的配置文件(application.xml,xx.properties等配置文件)
一.在Java web工程WEB-INF下创建weixin.properties属性文件 weixin.properties属性文件里内容如下: 二.创建PropertiesUtils.java测试类 ...
- java显示本地磁盘所有盘符,显示桌面路径
import java.io.File; import javax.swing.filechooser.FileSystemView; /** 显示本地磁盘根盘符,显示桌面路径 */ public c ...
- java web 资源文件读取
前提:假设web应用test(工程名) webapps下面有一资源文件test.html 规则:在获取资源时一般使用的是相对路径,以符号/开头,而 / 代表什么取决于这个地址给谁使用.服务器使用时,/ ...
- java web项目中 获取resource路径下的文件路径
public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ...
随机推荐
- Oracle怎样方便地查看报警日志错误
由于报警日志文件很大,而每天都应该查看报警日志(查看有无“ORA-”,Error”,“Failed”等出错信息),故想找到一种比较便捷的方法,查看当天报警日志都有哪些错误. 在网上查了几天的资料,尝试 ...
- Collection使用方法
package cn.stat.p3.conection.demo; import java.util.ArrayList; import java.util.Collection; import j ...
- poj3282
定义一个有4x+1组成的无限集合x>0&x∈Z 素数 x 不能有x = y*z,y,z都是素数 合数 x 有x = y*z y|z中某个数是素数 simi数,只能由两个素数构成. 打 ...
- _CrtMemBlockHeader
typedef struct _CrtMemBlockHeader{// Pointer to the block allocated just before this one:struct _Crt ...
- 一个小玩具:NDK编译SDL的例子
NDK编译SDL 准备: 硬件 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\java等命令必须支持) 工具 ...
- 公众号的秘密,知道一个biz就够了
公众号的秘密,知道一个biz就够了 微信对于我来说,最有价值的是一个学习渠道,特别是搜狗微信搜索(http://weixin.sogou.com/)能够很方便的搜索公众账号和文章内容,PC端就能够获得 ...
- css中“zoom:1”是什么意思
继承性: 无 兼容性: IE 基本语法 zoom : normal | number 语法取值 normal : 默认值.使用对象的实际尺寸 number : 百分数 | 无符号浮点实数.浮点实数 ...
- Python subprocess执行持续输出shell命令的控制
研究了大半天,为了获取持续输出的shell指令结果,并对结果进行分析,一直因为无法控制subprocess开启的子进程头疼,研究了半天,参考众多大神的博客后,终于实现,目前已时间为控制点,在实际业务中 ...
- C++异常处理小例
学习程序的好方法是阅读代码和改进代码.下面的程例来自<An Overview of the C++ Programming Language>(5.1 异常和错误处理)程序用途:使用C ...
- hdu 找新朋友
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; ]; ...