ASP中上传文件到数据库的奇怪问题,请高手帮忙!

Jackie_GP 2008-04-17 10:06:26
我的一个系统,上传文件到数据库,在windows2003下,可以上传,但是在Windows2000下就有错误,Microsoft VBScript 运行时错误 error '800a0005'

无效的过程调用或参数: 'Chr'

/office/attemper/dayproduction/editsave.asp, line 26

这是26行代码:
ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow))

-----------------
上传的代码,如下:
<%@Language="VBScript"%>
<%Response.Expires=0%>
<!--#include file="..\conn.asp"-->
<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">
<link rel="stylesheet" href="../gzrs.css" type="text/css">
<title>New Page 1</title>
</head>

<body>
<%
Function bin2str(binstr)
Dim varlen,clow,ccc,skipflag
skipflag=0
ccc = ""
If Not IsNull(binstr) Then
varlen=LenB(binstr)
For i=1 To varlen
If skipflag=0 Then
clow = MidB(binstr,i,1)
If AscB(clow) > 127 Then
ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow))
skipflag=1
Else
ccc = ccc & Chr(AscB(clow))
End If
Else
skipflag=0
End If
Next
End If
bin2str = ccc
End Function

varByteCount = Request.TotalBytes
bnCRLF = chrB( 13 ) & chrB( 10 )

binHTTPHeader=Request.BinaryRead(varByteCount)

Divider = LEFTB(binHTTPHeader, INSTRB( binHTTPHeader, bnCRLF ) - 1 )
'开始读非文件域的数据
Do while lenB(binHTTPHeader)>46
binHeaderData=LeftB(binHTTPHeader,INSTRB(binHTTPHeader,bnCRLF & bnCRLF)-1)
strHeaderData=bin2str(binHeaderData)
lngFieldNameStart=Instr(strHeaderData,"name=" & chr(34))+Len("name="& chr(34))
lngFieldNameEnd=Instr(lngFieldNameStart,strHeaderData,chr(34))
strFieldName=Mid(strHeaderData,lngFieldNameStart,lngFieldNameEnd-lngFieldNameStart)
strFieldName=Trim(strFieldName)
strFieldName=Replace(strFieldName,vbcrlf,vbnullstring) '判断文件数据时候开始
If strComp(strFieldName,"FileUploadStart",1)=0 Then
binHTTPHeader=MIDB(binHTTPHeader,INSTRB( DataStart + 1, binHTTPHeader,divider ))
exit do
End if
DataStart = INSTRB( binHTTPHeader, bnCRLF & bnCRLF ) + 4
DataEnd = INSTRB( DataStart + 1, binHTTPHeader, divider )- DataStart
binFieldValue=MIDB( binHTTPHeader, DataStart, DataEnd )
strFieldValue=bin2str(binFieldValue)
strFieldValue=Trim(strFieldValue)
strFieldValue=Replace(strFieldValue,vbcrlf,vbnullstring)
'非文件上传域变量赋值
execute strFieldName & "=""" & strFieldValue & """"
binHTTPHeader=MIDB(binHTTPHeader,INSTRB(DataStart + 1, binHTTPHeader, divider ))
loop
'开始处理文件数据
binHeaderData=LeftB(binHTTPHeader,INSTRB(binHTTPHeader,bnCRLF & bnCRLF)-1)
strHeaderData=bin2str(binHeaderData) '读取上传文件的Content-Type
lngFileContentTypeStart=Instr(strHeaderData,"Content-Type:")+Len("Content-Type:")
strFileContentType=Trim(Mid(strHeaderData,lngFileContentTypeStart))
strFileContentType=Replace(strFileContentType,vbCRLF,vbNullString) '读取上传的文件名
lngFileNameStart=Instr(strHeaderData,"filename="&chr(34))+Len("filename="&chr(34))
lngFileNameEnd=Instr(lngFileNameStart,strHeaderData,chr(34))
strFileName=Mid(strHeaderData,lngFileNameStart,lngFileNameEnd-lngFileNameStart)
strFileName=Trim(strFileName)
strFileName=Replace(strFileName,vbCRLF,vbNullString) '读取上传文件数据
DataStart = INSTRB( binHTTPHeader, bnCRLF & bnCRLF ) + 4
DataEnd = INSTRB( DataStart + 1, binHTTPHeader, divider ) - DataStart
binFieldValue=MIDB( binHTTPHeader, DataStart, DataEnd ) '将上传的文件写入数据库

sql="select * from 调度报表 where 日期='"&dateinput&"' and 报表名称='"&reporttype&"'"
set rs=server.CreateObject("ADODB.Recordset")
rs.Open sql,conn,3,3
if rs.eof then
rs.addnew
end if
rs("日期")=dateinput
rs("报表名称")=reporttype
If trim(strFileName)<>"" Then
rs("数据类型")=strFileContentType
rs("数据").AppendChunk binFieldValue 'BLOB数据不能直接赋值
End if
rs.update
rs.close
set rs=Nothing
conn.close
response.redirect "editmain.asp?dateinput="&dateinput&"&reporttype="&reporttype
%>
</body>

</html>

--------------
请高手帮忙呀.
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ikuss 2009-04-29
  • 打赏
  • 举报
回复
搂主,我也碰到同样的问题了。
当初都是正常运行的,今天突然发现这个功能出问题了,错误号就是'800a0005',估计是环境或配置有变动造成的,不知道搂主是如何解决的?
Jackie_GP 2008-04-18
  • 打赏
  • 举报
回复
不行
Jackie_GP 2008-04-18
  • 打赏
  • 举报
回复
好的,我先试试
天宇余 2008-04-17
  • 打赏
  • 举报
回复
加上这句话看看.
<%@LCID=4100%>
资料:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q264063&GSSNB=1
Jackie_GP 2008-04-17
  • 打赏
  • 举报
回复
请高手帮忙!

28,390

社区成员

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

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