jsp页面怎么显示非工程路径下的图片?

magicing 2008-10-30 05:19:12
最近在研究jsp图片显示的问题,利用img标签,显示本工程下的相对路径下的图片当然都没有问题,现在考虑到不想把图片只放到本工程下,如果放在硬盘的另一个目录下,用系统绝对路径来找到话,比如<img src="file:///X:\X.jpg">,这样在预览里看的到可是在实际的浏览器中现在几乎都屏蔽了,这样不行。就考虑用一个javabean来读取指定的图片文件,可是不知道怎么把读出来的file类用在src下,知道的帮忙回答一下好吗?或者还有什么好的解决方法,可以把图片放在硬盘的另外地方。如果是另外一台机器上硬盘里的图片呢,可以直接访问吗,还是必须启动一个服务器来提供图片?
...全文
491 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guodf2006 2012-09-20
  • 打赏
  • 举报
回复
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.io.FileInputStream"%>
<%@ page import="java.io.OutputStream"%>

<%
String perfectName = "c://1348108148682.jpg";
FileInputStream is = new FileInputStream(perfectName);
int i = is.available(); // 得到文件大小
byte data[] = new byte[i];
is.read(data); // 读数据
is.close();
response.setContentType("image/*"); // 设置返回的文件类型
OutputStream toClient = response.getOutputStream(); // 得到向客户端输出二进制数据的对象
toClient.write(data); // 输出数据
toClient.close();
%>
caoxiaoyu111 2008-11-18
  • 打赏
  • 举报
回复
楼主是写了一个servlet吗?
woshizn 2008-11-03
  • 打赏
  • 举报
回复

把图片复制到工程下。。。。
非典型射手 2008-11-03
  • 打赏
  • 举报
回复

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=GBK");
response.setContentType("image/jpeg");

FileInputStream fis = new FileInputStream("C:/xxx.jpg");
OutputStream os = response.getOutputStream();

try {
int count = 0;
byte[] buffer = new byte[1024*8];
while ( (count = fis.read(buffer)) != -1 )
os.write(buffer, 0, count);
} finally {
fis.close();
os.close();
}
}


写这样一个servlet,将图片读出来.然后直接访问这个servlet就可以了

在页面里也可以直接引用<img src="你的servlet地址" />
magicing 2008-10-30
  • 打赏
  • 举报
回复
能不能把简单的代码写一写阿,主要是jsp上的
非典型射手 2008-10-30
  • 打赏
  • 举报
回复
直接访问肯定不行,因为你的服务不能访问服务以外的资源.不过象你说的用程序把文件的图片读出来到是可行.

写一个servlet,然后setContentType("image/jpeg")设置类型,然后用流读出文件.

你在jsp页面上就可以直接访问这个servlet的地址来当作图片了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧