新手求教:如何在JSP里面把一张图片存到数据库? 我在练习写一个用户注册的JSP页面时候,把用户的照片存进数据库的代码不知道怎么写,请各位高手赐教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果要存放图片的话,数据库的设计也是很关键的,存储图片的字段必须建为BLOB型,可能该表也需要建成该类型的,相对来说这个还是有些麻烦的,建议还是在数据库原来你计划存图片的地方存该图片的存放路径,建该图片直接存在机器的某个目录中,在jsp页面中直接使用该路径调出图片进行显示 如果你真要把图片保存到数据库,列的类型选择BLOB(SQLSERVER2K)但建议你把图片保存在UPDATE目录下,数据库里只存文件路径和名字. 上传图片用到的是SmartUpload 对象呀,我也同意只把图片名和路径存到数据库, 数据库里只存文件路径 FormFile theFile = (FormFile)editForm.get("theFile"); if (!theFile.getFileName().equals("")){ try { String size = (theFile.getFileSize() + " bytes");//文件大小 String fileName= theFile.getFileName();//文件名 String contentType = theFile.getContentType(); String aa=""; InputStream stream = theFile.getInputStream();//把文件读入 String filePath =request.getRealPath("/mymessage/uploadFace");//取当前系统路径 ByteArrayOutputStream baos = new ByteArrayOutputStream(); OutputStream bos = new FileOutputStream(filePath + "\\" + theFile.getFileName()); //建立一个上传文件的输出流,将上传文件存入web应用的根目录。 // aa =filePath+"/"+theFile.getFileName(); // mymessage.setImage(aa); int bytesRead = 0; byte[] buffer = new byte[8192]; while ( (bytesRead = stream.read(buffer, 0, 8192)) != -1) { bos.write(buffer, 0, bytesRead);//将文件写入服务器 } bos.close(); stream.close(); }catch(Exception e){ System.err.print(e); } mymessage.setImage("mymessage/uploadFace/"+ theFile.getFileName()); // infoVO = mymessage.add(infoVO); } 关于多个struts2 项目同时布署在同一环境下的问题! WEB工程权限控制 JSP打开没有任何显示 用jsp如何获取客户端的ip,在线急!!!!!! Hibernate中条件查询的困惑! 请教一个用jsp页面往数据库输入数据的错误?急!! javabean编写的问题 jsp服务器的选择问题 求jsp电子书 JSP中如何调用SERVLET? 有关hibernate和spring的问题 请教java查询oracle问题
try {
String size = (theFile.getFileSize() + " bytes");//文件大小
String fileName= theFile.getFileName();//文件名
String contentType = theFile.getContentType();
String aa="";
InputStream stream = theFile.getInputStream();//把文件读入
String filePath =request.getRealPath("/mymessage/uploadFace");//取当前系统路径
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream bos = new FileOutputStream(filePath + "\\" +
theFile.getFileName());
//建立一个上传文件的输出流,将上传文件存入web应用的根目录。
// aa =filePath+"/"+theFile.getFileName();
// mymessage.setImage(aa); int bytesRead = 0;
byte[] buffer = new byte[8192];
while ( (bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);//将文件写入服务器
}
bos.close();
stream.close();
}catch(Exception e){
System.err.print(e);
} mymessage.setImage("mymessage/uploadFace/"+ theFile.getFileName());
// infoVO = mymessage.add(infoVO); }