1、准备要显示的,并创建一个最简单的jsp页面,运行起来。
2、通过ImageIo读取。
3、将图像的元字节数据保存到bytearray中。
4、将图像的字节数据用base64编码,转换成base64字符串。
5、把base64编码过的字符串放到img元素的src属性上。
6、最后就可以看到效果了。
数据库不能保存图像,但是能保存图像名,我给你个思路,用户上传后使用uid方法将重命名,然后将新的名称存在数据库,保存在一个已知路径,然后页面加载只需要将src设置成"路径/数据库查询结果。(建议通过id查询)"
用smartupload 控件来完成 你百度下一大堆的例子,算了我帮你百度,不然你分不给我,要记的给我呀,至于保存在数据库中,你可以用年月日时分秒这样的格式生成一个文件存放目录,将的路径保存到数据库中
<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%>
<%@ page language="java" import="javaio"%>
<%@ page language="java" import="comjspsmartupload"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">
<html>
<head>
<meta >
upload/images/xxxjpg
JSP页面就这样显示咯
<%
String imgUrl = “upload/images/xxxjpg”;//这个地址是你实际从数据库里取出来的,,如果怕照片显示不出来,加上绝对路径requestgetContextPath()+"/"+imgUrl %>
<img src="<%=imgUrl %>" alt="images"/>
我把你的代码稍微改造了下,我这边是可以显示的。代码如下:
数据库 *** 作部分:
package comdatabase;import javaioInputStream;
import javasql;
/
@作者 王建明
@创建日期 13-10-7
@创建时间 下午12:32
@版本号 V 10
/
public class DataBaseUtil {
public static InputStream getImageStreamFromDataBase() {
Connection conn = null;
try {
ClassforName("commysqljdbcDriver");
conn =
DriverManagergetConnection("jdbc:mysql://localhost/quickstart", "root", "123456");
Statement stmt = conncreateStatement();
String sql = "select book_image from tbl_book where id=1 ";
ResultSet rs = stmtexecuteQuery(sql);
if (rsnext()) {
return rsgetBinaryStream("book_image");
}
} catch (Exception e) {
Systemoutprintln("出现异常: " + egetMessage());
} finally {
try {
if (conn != null)
connclose();
} catch (SQLException e) {
eprintStackTrace();
}
}
return null;
}
}
servlet部分:
package comservlet;import comdatabaseDataBaseUtil;
import javaxservletServletException;
import javaxservlet>}
webxml中的servlet配置:
<servlet><servlet-name>ShowImage</servlet-name>
<servlet-class>comservletShowImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowImage</servlet-name>
<url-pattern>/showImage</url-pattern>
</servlet-mapping>
页面中加载方式:
<img src="showImage" />希望对你有帮助O(∩_∩)O~
String time = new SimpleDateFormat("yyyyMMddHHmmss")
format(CalendargetInstance()getTime());// 得到系统时间
// 上传技术
SmartUpload up = new SmartUpload();
// 进行初始化
upinitialize(thisgetServletConfig(), request, response);
// 开始上传
try {
upupload("utf-8");//设置编码方式。
int id = IntegerparseInt(upgetRequest()getParameter("id"));// 商品编号
SmartFiles sf = upgetFiles();// 得到上传的所有
SmartFile file = sfgetFile(0);// 根据索引得到上传 多个可以用循环:
String type = filegetFileExt();// 得到后缀名
String folder = "tp/";// 指定文件夹
String path = folder + time + "" + type;// 路径
Systemoutprintln(path + "路径");
filesaveAs(requestgetRealPath("/") + path);// 保存
} catch (Exception e) {
eprintStackTrace();
}
//你搞个邮箱我把SmartUploadjar包 发给你吧。 //设置from提交
/<form action="SellerServet" method="post"
enctype="multipart/form-data">/ // 加上 enctype="multipart/form-data
以上就是关于谁有数据库中存的是图片路径,然后jsp页面显示图片出来全部的内容,包括:谁有数据库中存的是图片路径,然后jsp页面显示图片出来、jsp怎么实现浏览本地图片选中上传到页面上,并且保存在数据库,从数据库读取也可以显示在页面上、jsp如何将图片上传到服务器某个文件夹里面,而路径存到数据库中!!请教!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)