java如何将图片保存在数据库中

java如何将图片保存在数据库中,第1张

一般都是这样的,就是在你服务器有一个专门放置的文件夹,然后数据库保存的是你服务器的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理是你的事情了。

至于如何去数据库取路径这个就是简单的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如何将图片保存在数据库中、轮播器图片 路径 也要存入数据库吗怎么放表 ,字段该怎么定义、怎么图片上传到服务器并把路径添加到数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9439420.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存