+ -
当前位置:首页 → 问答吧 → asp 上传图片到 sql2008 数据库的问题

asp 上传图片到 sql2008 数据库的问题

时间:2011-08-18

来源:互联网

因为要上传很多小图片, 最大的应该也不会超过8KB的样子, 大部分都是1kb 2kb , 数量又很大, 估计最终要数万个, 所以想把图片保存到数据库里。

在网上找了如下代码上传图片:
上传是成功了。但是我觉得奇怪, 代码里怎么知道我传的是图片?比如我正常上传text, 那么读数据时写 aaa=request("aaa"), 这样就知道把哪个数据放在哪里, 这个怎么没有类似的?

formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13)&chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf&bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)

Dim conn
Set conn = Server.CreateObject("ADODB.connection")
conn.open sql_str
dim rs
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "images_data",conn,1,3
rs.addnew
rs("images").AppendChunk myData
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing

上传成功了后, 想读出来,可是失败,代码如下:

Response.ContentType = "text/html"
Response.BinaryWrite rs("images").getChunk(8000000)


请教大家了。

作者: helloclm   发布时间: 2011-08-18

你数据库有没有设置成为image字段??

存储的图片的代码是否正确?

作者: yuxh81   发布时间: 2011-08-18

图片最好还是不要放在数据库里,否则你的数据库会暴涨。
一般都是只把图片路径存入数据库

作者: lzp4881   发布时间: 2011-08-18

Response.ContentType = "image/jpeg"
Response.BinaryWrite rs("images").getChunk(8000000)

调用的时候要 <img src="xxx.asp?id=1234">
xxx.asp中只能输出图片数据,不能输出其他html标记文本

作者: hookee   发布时间: 2011-08-18

谢谢大家回复, 我分离了代码又反复测试了, 原来的代码是可用的。

作者: helloclm   发布时间: 2011-08-18