想实现图片与文字同时上传,但是还有一点小问题

hillhero789 2003-09-18 12:58:35
数据表test的结构是:
id|img
id为文本,img问ole对象

upload.asp:
(接收由另一个页面传过来的数据)
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="include/function.inc"-->
<%
conn=createconnection("database/test.mdb")
set t=server.CreateObject("adodb.recordset")
sql="select * from test"
t.open sql,conn,1,3

function gainformdata(n)
dim formsize,formdata,divider,datastart,dataend
redim mydata(n-1)
formsize = Request.TotalBytes
formdata = Request.BinaryRead(formsize)
for i=1 to n
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-2
mydata(i-1) = midB(formdata,datastart,dataend)
formdata=rightB(formdata,clng(formsize-instrB(datastart+1,formdata,divider))+1)
formsize=lenB(formdata)
next
gainformdata=mydata
end function
'只需要告诉循环的次数n,返回是mydata数组
%>
<%
data=gainformdata(2)
%>
<%
t.addnew
t(0)=binarytostring(data(0)
t(1).appendchunk=data(1)
t.update
%>


报错为:

Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配: 'binarytostring'

/kxs/testupload.asp,行34


我觉得data(0)就是二进制数据嘛(我用response.binarywrite(data(0))是可以正确显示的嘛),怎么会不匹配呢?想不通……

请大家不论赐教
...全文
100 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxrl 2003-09-18
  • 打赏
  • 举报
回复
看到你的消息,恭喜成功!
xxrl 2003-09-18
  • 打赏
  • 举报
回复
用稻香老农的无组件可以做到图文并传!没有问题,我就可以,呵呵
snolidge 2003-09-18
  • 打赏
  • 举报
回复
thanks
inanition 2003-09-18
  • 打赏
  • 举报
回复
推荐三篇文章,前两篇讲基础,最后一篇是完整解决方案,希望对你有所帮助。

http://www.csdn.net/develop/article/19/19253.shtm

http://www.csdn.net/develop/article/19/19179.shtm

http://www.csdn.net/develop/article/19/19615.shtm

如果有是做个人网站,又或是一般中小型企业网站,上传文件并不多,可以使用无组件上传即可,如果是门户网站,或是上传文件较多的,建议采用组件。

hillhero789 2003-09-18
  • 打赏
  • 举报
回复
to xxrl(孔曰成仁,孟曰取E):
对不起,我看错了,我不是不想用,但是无组件上传我好象没有看到过可以同时保存文本的。
hillhero789 2003-09-18
  • 打赏
  • 举报
回复
to wanderingbird(流浪鸟)
对不起,img是ole对象,意思是他是二进制的数据类型

runmin(悟空~你就别追了...)
不用吧,上边的代码其实已经可以把图片传到数据库里边了,只是存放文本的时候出错了。

to wertou()
我的id字段就是text啦,不过就是保存不了

to xxrl(孔曰成仁,孟曰取E)
我觉得服务器端很可能没有相应的组件,所以就想用无组件咯

to devinjiang(devinjiang)
不是的,如果我把"t(0)=binarytostring(data(0)"注释掉的话,数据库图片是可以保存的。


请问runmin(悟空~你就别追了...)
假如用adodb.stream,具体的代码怎么写呢?

谢谢大家的支持,问题尚未解决,大家继续努力!
devinjiang 2003-09-18
  • 打赏
  • 举报
回复
图象的二进制数据跟本就没有写到库里面,你可以在库里看一下
另一种上传图片的方法是,采用固定位置,直接传到,站点的文件夹里面
再使用自动生成号的形式引用
xxrl 2003-09-18
  • 打赏
  • 举报
回复
为什么不用无组件上传?
  • 打赏
  • 举报
回复
可以设数据库字段为TEXT

这样图片和文字就可以一起保存,还可以加HTML,就是EDITOR
blues-star 2003-09-18
  • 打赏
  • 举报
回复
二进制要用ADODB.Stream写入数据库
不老书生 2003-09-18
  • 打赏
  • 举报
回复
“id为文本,img问ole对象”什么意思啊?

img的数据类型是什么啊?
hillhero789 2003-09-18
  • 打赏
  • 举报
回复
大家快来看看啦

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧