我怎么用jsp技术将图片存到数据库中去呀?? 10

我用的是microsoftsqlserver2000数据库,最近搞一个项目,需要把照片存到数据库中,可本人java不是很好,请达人们帮帮忙啦!谢谢!!!!!!!... 我用的是microsoft sqlserver 2000数据库,最近搞一个项目,需要把照片存到数据库中,可本人java不是很好,请达人们帮帮忙啦!
谢谢!!!!!!!
展开
 我来答
百度网友5666ffe3c
2008-09-05 · TA获得超过421个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:434万
展开全部
<%@ 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 (i<FormSize)
{
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+"<br>alt_name:"+alt_name+"<br>level:"+level+"<br>image:"+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=del&url=<%=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=add&url=<%=url%>" method="post" enctype="multipart/form-data">
<input type=file name="image"><input type="submit" value="上传">
</form>
慧慧的GA解决方案铺
2008-09-05 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:130万
展开全部
将图片存放在数据库里有两种方法:
第一: 就是将图片文件所在的物理地址以字符串的形式保存在你的数据库中,记得这里的物理地址一定在是文件的相对路径(及项目的路径),因为你的项目是可以放在任何一个盘里的。
第二:将你的图片以二进制的格式存放在你的数据库里,这种方法有它的优缺点,优点就是将图片保存后就可以删除,而缺点就是你保存在数据库的文件数据量大,数据库的负担也就重,所以我们不怎么采用这种方法。
建议你使用方法一。你用代码获得图片的相对路径。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huang1196
2008-09-05 · TA获得超过1469个赞
知道小有建树答主
回答量:472
采纳率:0%
帮助的人:592万
展开全部
数据库里面存照片的相对路径不就可以了。不知道2000能不能直接存,有的数据库确实可以直接存照片。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈涛4446
2008-09-05 · TA获得超过402个赞
知道答主
回答量:453
采纳率:0%
帮助的人:0
展开全部
数据库里面存照片的相对路径不就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式