ASP中到底怎么显示图片?(50分)

  • 主题发起人 主题发起人 mxsbt
  • 开始时间 开始时间
M

mxsbt

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟看了不少在ASP中把数据库的图片取出并显示的例子但浏览器中都是乱码
不知那为仁兄可以提供确实可行的方法。
 
你可以在数据库中只存图片的路径呀。在显示时用img= 路径不就行了
 
对,存路径比较合理的,
 
如果把图片保存在数据库中,要显示的话,通常用一专门的ASP来输出这个图片,原来放图片
链接的地方指向这个ASP. response有二进制读的方法, 具体的你可以查一下资料,我记不
太清了, 希望这些能对你有用.
 
存路径吧,存图片实体会把你的数据库累死的[:D][:D]
 
两中方法:
1。直接存图片路径,显示的时候读出路径就可以拉。
2。将图片用二进制的方式存在数据库里面,用显示图片的二进制方式显示,
这个不推荐使用,无谓的占用数据库空间,同时不方便维护,
建议使用第一中方便容易维护,同时直接。
 
最好采用存路径的方式。
如果你有对服务器的控制权,你可以通过安装第三方组件的方式在数据库中存取图片,这样操作起来倒是容易些。
 
对组件的方法楼上的说的对,不过要注意安全性呵呵!!
 
我想用路径比较好
如直接存取图片
<%
Function SetForDisplay(field, contentType) '設置文件的大小及MIME類型
contentType = LCase(trim(contentType))
nFieldSize = field.ActualSize
bytes = field.GetChunk(nFieldSize)
Session("Bytes") = bytes
Session("Type") = contentType
End Function
%>
<%
sql = "select * from pic where id=" &amp;
request("ID")
Set conn = Server.CreateObject("ADODB.Recordset")
conn.CursorLocation = 3
strConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" &amp;
Server.MapPath("new.mdb")
conn.Open sql, strConn
SetForDisplay conn("pic"), "image/gif" '"image/gif" 為MIME類型
%>
 
存图片的名称,然后在ASP代码中表现出来,例如:
<%
set cn=server.createobject("adodb.connection")
cn.connectionstring="dsn=数据源;uid=帐号;pwd=密码"
cn.open
set rs=cn.execute("select * from 表名")
%>
下面table中有你要的代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>
<body>
<table border="1" width="100%">
<tr>
<td width="100%"><img border="0" src="路径/<%=rs("图片名称字段名")%>.bmp"></td>
</tr>
</table>
</body>
</html>
这是比较好的处理方法!
 
以下是图片提交并存入access数据库的程序
<%@ Language=VbScript %>
<% '图片提交
dim rs,strsize,strdata,divider,bncrlf,datastart,dataend,mydata,str_sql
response.buffer=true
strsize=request.totalbytes
strdata=request.binaryread(strsize)
bncrlf=chrB(13) &amp;
chrB(10)
divider=leftB(strdata,clng(instrb(strdata,bncrlf))-1)
datastart=instrb(strdata,bncrlf &amp;
bncrlf)+4
dataend=instrb(datastart+1,strdata,divider)-datastart
mydata=midb(strdata,datastart,dataend)
if mydata<>"" then
'连接数据库,请自行编写
Set rs = server.CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeySet
rs.LockType =adLockOptimistic
str_sql="select * from sjk_db order by id desc"
rs.Open str_sql,cnn,,,adCmdtext
rs("pic").appendchunk mydata
rs.update
Set rs = Nothing
Cnn.close
Set Cnn = Nothing
end if
%>
以下是显示图片程序:showimg.asp
<%@ Language=VbScript %>
<% '图片显示程序:只显示数据库最后一条内容
dim strid,rs,str_sql
'Strid = Trim(Request.QueryString("id"))
'连接数据库,请自行编写
Set rs = server.CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeySet
str_sql="select pic from sjk_tb order by id desc"
'str_sql="select pic from sjk_tb where id="&amp;strid
rs.Open str_sql,cnn,,,adCmdtext
response.contenttype = "image/*"
Response.BinaryWrite rs("pic").getChunk(7500000)
Set rs = Nothing
cnn.close
Set cnn = Nothing
%>
调用showimg.asp时请用<img src="showimg.asp"> 肯定可以用,我自己用在主页上!
 
我还是偏好于在数据库中存图片的路径
 
存到路径也要上传到服务器的目录下啊!
关键是这一步!
 
在HTML中图片只能用<image></image>或<object src=></object>显示,而这两种图片
显示方式必须从服务器磁盘上找图片......
如果用jsp还可能用applet但asp......
哎不好说。
 
后退
顶部