求个高手指点下怎么从access数据库中读取数据显示在jsp页面
时间:2011-10-14
来源:互联网
如题,谢谢,我用getBinaryStream()读出来的InputStream类型,但是保存的到本地的时候文件是空的
还有一个问题 就是保存的路径如何写成虚拟路径 写在项目本身
然后我jsp页面可以通过访问这个路径去显示这个图片
不知道我这样思路有没有错误
代码如下:
// 照片
String imgUrl = null;
InputStream in = rs.getBinaryStream(24); //读取出来的图片
if(in.read() > 0){
byte[] buf = new byte[1000 * 500];
int size = 0;
size = in.read(buf);
int pos = 0;
for (int j = 0; j < buf.length - 3; j++) {
// 进行JPG文件的定位
if (buf[j] == new Integer(0xFF).byteValue()
&& buf[j + 1] == new Integer(0xD8).byteValue()
&& buf[j + 2] == new Integer(0xFF).byteValue()
&& buf[j + 3] == new Integer(0xE0).byteValue()) {
pos = j;
break;
}
}
// 将图片保存到本地
imgUrl = "d:\\" + String.valueOf(fmc) + ".jpg";
File temp = new File(imgUrl);
OutputStream out;
out = new FileOutputStream(temp);
out.write(buf, pos, size - pos);
out.flush();
out.close();
还有一个问题 就是保存的路径如何写成虚拟路径 写在项目本身
然后我jsp页面可以通过访问这个路径去显示这个图片
不知道我这样思路有没有错误
代码如下:
// 照片
String imgUrl = null;
InputStream in = rs.getBinaryStream(24); //读取出来的图片
if(in.read() > 0){
byte[] buf = new byte[1000 * 500];
int size = 0;
size = in.read(buf);
int pos = 0;
for (int j = 0; j < buf.length - 3; j++) {
// 进行JPG文件的定位
if (buf[j] == new Integer(0xFF).byteValue()
&& buf[j + 1] == new Integer(0xD8).byteValue()
&& buf[j + 2] == new Integer(0xFF).byteValue()
&& buf[j + 3] == new Integer(0xE0).byteValue()) {
pos = j;
break;
}
}
// 将图片保存到本地
imgUrl = "d:\\" + String.valueOf(fmc) + ".jpg";
File temp = new File(imgUrl);
OutputStream out;
out = new FileOutputStream(temp);
out.write(buf, pos, size - pos);
out.flush();
out.close();
作者: li54871997 发布时间: 2011-10-14
怎么没人来啊
作者: li54871997 发布时间: 2011-10-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28