
一般都是这样的,就是在你服务器有一个专门放置的文件夹,然后数据库保存的是你服务器的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理是你的事情了。
至于如何去数据库取路径这个就是简单的db *** 作。
加载驱动类:
ClassforName(DBDriver);
获取连接:
Connection conn = DriverManagergetConnection(url,username,password);
创建 *** 作对象:
PreparedStatement stmt = conprepareStatement(sql);
执行 *** 作:
ResultSet rs = stmtexecuteQuery();
遍历结果:
List list = new ArrayList();
while(rsnext()){
//具体 *** 作,通常用rsgetString(name)取值
Image img = new Image();//类对应你数据库中表格
imgsetSrc(rsgetString("src"));//假设你数据库中image表中地址字段是src
listadd(img);
}
记得关闭资源:
rsclose();
stmtclose();
conclose();
看你的意思是已经取出来了不知道怎么显示:
你取出来之后可以把放在一个list里面然后去页面上遍历这个list
<c:forEach var="chakan1" items="list">
<tr>
<td>
<img src="${chakan1src}"/>
</td>
</tr>
</c:forEach>
大致应该是这样
的路径通常是放在服务器里的,将路径存入数据库的话很简单,在数据库设置一个varchar型的字段就可以了。 数据库是通过服务器进行连接的,不用上传的;要显示出来的话,当然要读出数据库相应得字段获取字符串,也就是的路径。
<php
$type=$_FILES['filephoto']['type'];
if($type=='image/gif'|| $type=='image/jpeg'||$type=='image/pjpeg')
{
if($_FILES['filephoto']['size']<210241024)
{
$aa=substr($_FILES['filephoto']['name'],strpos($_FILES['filephoto']['name'],''));//类型名 如 png
$photo=date("yndhis")rand(10000,99999)$aa;//名字
move_uploaded_file( $_FILES['filephoto']['tmp_name'] , 'photo/'$photo );//上传指定文件夹
}//$image=文件夹名/名 添加数据库
<%
if requestTotalBytes < 1 then
responseRedirect("fabuasp")
else
str="provider=microsoftjetoledb40;data source=" & serverMapPath("\data/feiymdb")
set conn=serverCreateObject("adodbconnection")
connconnectionstring=str
connopen
aa=requestBinaryRead(requestTotalBytes)
en=chrB(13)&chrB(10)
set st1=serverCreateObject("adodbstream")
st1mode=3
st1type=1
st1open
st1write aa
Zf=leftB(aa,clng(instrB(1,aa,en))-1)
a1=instrB(aa,en&en)
a2=instrB(a1,aa,Zf)
a3=midB(aa,a1,a2-a1)
'responseBinaryWrite(a3)
b1=instrB(a2,aa,en&en)
b2=instrB(b1,aa,zf)
b3=midB(aa,b1,b2-b1)
'responseBinaryWrite(b3)
c1=instrB(b2,aa,en&en)
c2=instrB(c1,aa,zf)
c3=midB(aa,c1,c2-c1)
'responseBinaryWrite(c3)
d1=instrB(c2,aa,en&en)
d2=instrB(d1,aa,zf)
d3=midB(aa,d1,d2-d1)
'responseBinaryWrite(d3)
e1=instrB(d2,aa,en&en)
e2=instrB(e1,aa,zf)
wjm=instrB(d2,aa,en&en)
wjm1=midB(aa,d2,wjm-d2)
'responseBinaryWrite(wjm1)
set st2=serverCreateObject("adodbstream")
st2mode=3
st2type=1
st2open
st1position=e1+3
st1copyto st2,e2-e1-6
set sta=serverCreateObject("adodbstream")
stamode=3
statype=2
staopen
stawritetext a3
staposition=0
stacharset="gb2312"
staposition=6
ma=stareadtext()
set stb=serverCreateObject("adodbstream")
stbmode=3
stbtype=2
stbopen
stbwritetext b3
stbposition=0
stbcharset="gb2312"
stbposition=6
mb=stbreadtext()
set stc=serverCreateObject("adodbstream")
stcmode=3
stctype=2
stcopen
stcwritetext c3
stcposition=0
stccharset="gb2312"
stcposition=6
mc=stcreadtext()
set std=serverCreateObject("adodbstream")
stdmode=3
stdtype=2
stdopen
stdwritetext d3
stdposition=0
stdcharset="gb2312"
stdposition=6
md=stdreadtext()
set stw=serverCreateObject("adodbstream")
stwmode=3
stwtype=2
stwopen
stwwritetext wjm1
stwposition=0
stwcharset="gb2312"
stwposition=6
mw=stwreadtext()
h1=instrrev(mw,"")
h2=instrrev(mw,"""")
h3=mid(mw,h1,h2-h1)
str="provider=microsoftjetoledb40;data source=" & serverMapPath("\data/feiymdb")
set rev=serverCreateObject("adodbrecordset")
revactiveconnection=str
revopen "select from kuan1",,1,3
if not reveof then
'-------------------------------------------------
set rs=connexecute("select max(myid) as he from kuan1")
st2savetofile serverMapPath("\chanp/" & rs("he")+1 & h3)
'hh=st2size
tumm=rs("he")+1 & h3
connexecute("insert into kuan1(myid,kh,xl,tu,fl,shuom)values('" & rs("he")+1 & "','" & ma & "','" & mb & "','/chanp/" & tumm & "','" & mc & "','" & md & "')")
'--------------------------------
else
set rs=connexecute("select max(myid) as he from kuan1")
st2savetofile serverMapPath("\chanp/" & 1 & h3)
'hh=st2size
tumm=1 & h3
connexecute("insert into kuan1(myid,kh,xl,tu,fl,shuom)values('" & 1 & "','" & ma & "','" & mb & "','/chanp/" & tumm & "','" & mc & "','" & md & "')")
end if
revclose
rsclose
st1close
st2close
staclose
stbclose
stcclose
stdclose
stwclose
connclose
set st1=nothing
set st2=nothing
set sta=nothing
set stb=nothing
set stc=nothing
set std=nothing
set stw=nothing
set conn=nothing
set rev=nothing
end if
responsewrite("发布成功!")
%>
SQL把这句改了 没什么区别
str="provider=SQLOLEDB;data source=ds(数据库头(local))initial catalog=db(数据库名字);user id=账号;password=密码;"
自己写的可能有点乱 不过可以上传 关键你可以知道怎么上传了
建议存路径
下面是上传并保存路径到数据库
显示有很多中方法,如果在gridview里面显示的就如截图这样设置
protected void Button4_Click(object sender, EventArgs e){
string FilePath = "";
if (FileUpload1FileName != "")
{
if (FileUpload1PostedFileContentLength <= 0)
{
// PublicFunPublicFunctionshowMsg(this, "上传文件为空,请重新选择");
labmsgText = "上传文件为空,请重新选择";
return;
}
else
{
}
if (FileUpload1HasFile)
{
if (FileUpload1PostedFileContentLength > 4196304)
{
// PublicFunPublicFunctionshowMsg(this, "上传文件过大");
// return;
}
else
{
// FilePath = ServerMapPath("~/Download/Dload1");//服务器文件路径
}
FilePath = ServerMapPath("~/DownLoad/SignImg");//服务器文件路径
FileLoadFunUpLoad(FilePath, FileUpload1, DropDownList2SelectedValue);
UploadURL = "~/DownLoad/SignImg/" + DropDownList2SelectedValue + "_" + FileUpload1FileName;
UploadURL2 = UploadURL;
sql = " update yp_insproom_base_t set SignURL='" + UploadURL2 + "' " +
" where UserID='" + DropDownList2SelectedValue + "' ";
MySqlHelperExecuteNonQuery(PublicFunPublicFunctionGetDBconstr("ce_manage_db"), sql);
labmsgText = "上传成功";
databind();
}
}
else
{
// PublicFunPublicFunctionshowMsg(this, "上传文件路径错误");
labmsgText = "上传文件路径错误";
return;
}
}
在上传页面中设置一个隐藏控件<input type="hidden" name="url">
然后在上传成功后修改这个值。formurlvalue="imgurljpg"。
然后把这个数值传给处理页面执行插入数据库就可以了。
mysql> create table t_test(
-> id int primary key,
-> filepath varchar(256));
mysql> insert into t_test values(
-> 1, 'd:\\abc');
mysql> select from t_test;
+----+----------+
| id | filepath |
+----+----------+
| 1 | d:\abc |
+----+----------+
把如”d:\abc"中的路径中的\换成两个\是可以的
但在java中写的时候要注意这样写:
"insert into t_test values(1, 'd:\\\\abc')"
以上就是关于java如何将图片保存在数据库中全部的内容,包括:java如何将图片保存在数据库中、轮播器图片 路径 也要存入数据库吗怎么放表 ,字段该怎么定义、怎么图片上传到服务器并把路径添加到数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)