ASP中VBscript语言下文件上传代码错误问题,求大神指教!
小弟日前做《商务网站设计与实现 》这门课的课设时遇到了一个难题,就是文件的上传系统有问题。我查阅资料,也找朋友看过,就是看不出什么毛病,现在把这段代码发生来,求大神不吝赐教!这是UPFILE页面的代码:<%
Response.Buffer=True
Server.ScriptTimeout=120
%>
<html>
<head>
<style>
Input
{
FONT-FAMILY: "Verdana, Arial, 宋体";
FONT-SIZE: 9pt;
color: #555555;
background-color: #fefefe;
border: 1px solid #555555;
}
Button
{
FONT-FAMILY: "Verdana, Arial, 宋体";
FONT-SIZE: 9pt;
color: #555555;
background-color: #cccccc;
border: 1px solid #555555;
}
</style>
</head>
<body bgcolor=#C6EBDE topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0>
<%
If Request.TotalBytes > 10000000 Then
%>
<script>alert('上传文件大小不能超过1000K!');window.history.go(-1)</script>"
<%
Response.End
End If
If Request.TotalBytes < 150 Then
%>
<script>alert('上传文件不能为空!');window.history.go(-1)</script>"
<%
Response.End
End If
Dim lngLen,bnFormData,bnCrlf,strHead,lngFileStart,lngDataStart,lngDataEnd,bnTemp
lngLen = Request.TotalBytes
bnFormData = Request.BinaryRead(lngLen)
bnCrlf = ChrB(13) & ChrB(10)
strHead = LeftB(bnFormdata,InstrB(bnFormdata,bnCrlf & bnCrlf))
lngFileStart = InstrB(strHead,ChrB(102) & ChrB(105) & ChrB(108) & ChrB(101) & ChrB(110) & ChrB(97) & ChrB(109) & ChrB(101) & ChrB(61)) + 9
bnTemp = RightB(strHead,LenB(strHead) - lngFileStart)
bnTemp = LeftB(bnTemp,InstrB(bnTemp,ChrB(34))-1)
I = LenB(bnTemp)
While MidB(bnTemp,I,1) <> ChrB(92) And I > 0
I = I - 1
Wend
strFileName=bin2str(RightB(bnTemp,LenB(bnTemp) - I))
Session("imagep")=strFileName
bnDivider = LeftB(bnFormData,CLng(InstrB(bnFormData,bnCrlf)) - 1)
lngDataStart = InstrB(bnFormData,bnCrlf & bnCrlf) + 4
lngDataEnd = InstrB(lngDataStart + 1,bnFormData,bnDivider) - lngDataStart
Session("image") = MidB(bnFormData,lngDataStart,lngDataEnd)
Session("isupload") = True
%>
<span style="font-size:11pt;color:#2a2">已上传文件:
<%=strFileName%>
</span>
<button onclick="window.open('upload.asp','_self')">修改</button>
</body>
</html>
<%
Function bin2str(binstr)
Dim intVarlen,clow,ccc,intSkipFlag
intSkipFlag=0
ccc = ""
intVarlen=LenB(binstr)
For i=1 To intVarlen
If intSkipFlag=0 Then
clow = MidB(binstr,i,1)
If AscB(clow) > 127 Then
ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow))
intSkipFlag=1
Else
ccc = ccc & Chr(AscB(clow))
End If
Else
intSkipFlag=0
End If
Next
bin2str = ccc
End Function
%>实不相瞒,小弟是管科系的电子商务专业的,编程小白。课设大部分是照参考书上抄的代码。这个是我课设系统中很重要的一个功能,如今竟然无法执行,网站展示商品图片全靠这个上传系统通过OLE对象将图片输入数据库(ACCESS,因为SQL不大会),可是每次都是“Microsoft VBScript 运行时错误 '800a0005'”,求指教啊!