本文目录一览:
- 1、jsp中 怎么把图片直接存入数据库中,最好有例子
- 2、在JSP中怎样将图片上传到数据库中
- 3、我怎么用jsp技术将图片存到数据库中去呀??
- 4、用jsp、java实现上传图片,保存到数据库,从数据库中提取,显示到页面 这四步 我想问第一步,怎么上传图片
- 5、java如何将图片保存在数据库中
jsp中 怎么把图片直接存入数据库中,最好有例子
....首先..可以选择Apache里面的upload包....这个是把文件传到服务器上的上传组件....然后是存到数据库里....那就要看你什么数据库了....比如Oracle..就是Blob至Access...就是
对象
字段....存取方法都是不一样的..要分别对待
有个通用方法,你找到图片文件之后,建立输入流,然后创建bytearrayoutputstream,然后从输入流中读字节到后面那个流中,并冲它里面产生字节数组保存到byte字段中
其实建议你不要将图片直接上传到数据库
图片上传到数据库要用到
blob大对象(以oracle为例),这样影响程序性能,你可以将图片上传到指定文件夹,同时将图片保存的路径+文件名上传到数据库,要显示就读取这个这个路径找到图片,然后显示.刚做了个这个代码
在JSP中怎样将图片上传到数据库中
到数据库?
你可以建一个文件夹来保存上传的图片,
然后将图片的文件名保存到数据库中。
要用的时候在根据图片的文件名到该文件夹下面去读取显示出来
我怎么用jsp技术将图片存到数据库中去呀??
%@ page contentType="text/html;charset=gb2312"%
%@ page import="java.sql.*"%
%@page import="java.io.*" %
%@page import="java.util.*" %
%@ page import = "database_connection.sun_wap_refresh_conn" %
jsp:useBean id="myconn1" class="database_connection.sun_wap_refresh_conn" scope="session"/jsp:setProperty name="myconn1" property="*"/
%//上一行的 jsp:useBean id="myconn11" id 不能有重复
myconn1.getConn();
CallableStatement cstmt=null;
Statement stmt=myconn1.conn.createStatement();
String url="";
String flag="";
String procedure="";
String id="";
url=request.getParameter("url");
flag=request.getParameter("flag");
id=request.getParameter("id");
ResultSet rs=null;
if(flag!=null){
if(flag.compareTo("add")==0){
BufferedInputStream data;
BufferedInputStream is;
int FormSize;
byte[] bb;
byte t;
String image="";
data=new BufferedInputStream(request.getInputStream());
FormSize=request.getContentLength();
int i=0,start1=0,start2=0,_start1=0,_start2=0;
String temp="";
String _temp="";
String boundary="";
is=new BufferedInputStream(data);
bb=new byte[FormSize];
while (iFormSize)
{
t=(byte)is.read();
bb[i]=t;
i++;
}
is.close();
temp=new String(bb,"ISO8859_1");
_temp=temp;
_start1=_temp.indexOf("boundary=");
_temp=_temp.substring(_start1+9);
_start2=_temp.indexOf("\r\n");
boundary=_temp.substring(0,_start2);
_start1=_temp.indexOf(boundary);
_temp=_temp.substring(_start1+boundary.length());
_start1=_temp.indexOf(boundary);
image=_temp.substring(0,_start1);
_temp=_temp.substring(_start1+boundary.length());
_start1=image.indexOf("\r\n\r\n");
_start2=image.lastIndexOf("\r\n");
image=image.substring(_start1+4,_start2);
//out.println("username:"+username+"bralt_name:"+alt_name+"brlevel:"+level+"brimage:"+image);
procedure="{call sun_insert_ad_pic_image(?,?)}";
cstmt = myconn1.conn.prepareCall(procedure);
cstmt.setString(1,url);
cstmt.setBytes(2,image.getBytes("ISO8859_1"));
cstmt.executeUpdate();
}
if(flag.compareTo("del")==0){
procedure="{call sun_delete_ad_pic_image(?)}";
cstmt = myconn1.conn.prepareCall(procedure);
cstmt.setInt(1,Integer.parseInt(id));
cstmt.executeUpdate();
}
}
procedure="{call sun_select_ad_pic_image(?)}";
cstmt = myconn1.conn.prepareCall(procedure);
cstmt.setString(1,url);
rs=cstmt.executeQuery();
%
script language="javascript"
function del(id){
location.replace("edit_keyword_pic.jsp?flag=delurl=%=url%id="+id);
}
/script
table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#B6EF07"
tr
td width="20%" bgcolor="#FFFFFF"ID/td
td width="60%" bgcolor="#FFFFFF"图片/td
td width="20%" bgcolor="#FFFFFF"操作/td
/tr
%while(rs.next()){
String _id=rs.getString("id");
%
tr
td width="20%" bgcolor="#FFFFFF"%=_id%/td
td width="60%" bgcolor="#FFFFFF"img src="wc1.jsp?id=%=_id%"/td
td width="20%" bgcolor="#FFFFFF"input type="button" onclick="del('%=_id%')" value="删除"/td
/tr
%}%
/table
form name="form1" action="edit_keyword_pic.jsp?flag=addurl=%=url%" method="post" enctype="multipart/form-data"
input type=file name="image"input type="submit" value="上传"
/form
用jsp、java实现上传图片,保存到数据库,从数据库中提取,显示到页面 这四步 我想问第一步,怎么上传图片
用jspSmartUpload组件来实现,用jsp+servlet在Servlet里实现的代码:
PrintWriter out = response.getWriter();
int count = 0;
// 实例化上传控件对象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);
// 设置上传文件最大字节数
su.setTotalMaxFileSize(100000);
//
try {
//禁止上传指定扩展名的文件
su.setDeniedFilesList("ext,bat,jsp");
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
// 上传文件到服务器
su.upload();
File fileup = new File(request.getRealPath("upload"));
if(!fileup.exists()){
// 创建目录
fileup.mkdir();
}
// 处理多个文件的上传
for(int i = 0;i su.getFiles().getCount();i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上传目录
file.saveAs("/upload/new."+file.getFileExt(), su.SAVE_VIRTUAL);
count = su.save("/upload");
}
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
out.println(count +"file(s) uploaded");
如果你对这个上传组件不了解,最好是先去查查用法。。。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
java如何将图片保存在数据库中
一般都是这样的,就是在你服务器有一个专门放置图片的文件夹,然后数据库保存的是你服务器图片的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理图片是你的事情了。
至于如何去数据库取路径这个就是简单的db操作。
加载驱动类:
Class.forName(DBDriver);
获取连接:
Connection conn = DriverManager.getConnection(url,username,password);
创建操作对象:
PreparedStatement stmt = con.prepareStatement(sql);
执行操作:
ResultSet rs = stmt.executeQuery();
遍历结果:
List list = new ArrayList();
while(rs.next()){
//具体操作,通常用rs.getString(name)取值
Image img = new Image();//图片类对应你数据库中图片表格
img.setSrc(rs.getString("src"));//假设你数据库中image表中图片地址字段是src
list.add(img);
}
记得关闭资源:
rs.close();
stmt.close();
con.close();
看你的意思是已经取出来了不知道怎么显示:
你取出来之后可以把图片放在一个list里面然后去页面上遍历这个list
c:forEach var="chakan1" items="list"
tr
td
img src="${chakan1.src}"/
/td
/tr
/c:forEach
大致应该是这样