asp网站后台上传图片出错 提示未定义类
2011-10-10 13:53
344 查看
“Microsoft VBScript 运行时错误 '800a01fa'
类没有被定义: 'upload_5xSoft'
\up.asp, line 240”
这个页面是许多朋友做网站调试时遇到的问题,原来好好的网站源码,就因为这个只能丢掉,关于这个问题,百度有许多回答,但都只是粗劣的说下,让一些新手朋友不知道要从那里入手才可以。今天就这个问题我做一个详细的回答。
“upload_5xsoft”这个是化境上传组件文件,出错的原因为有很多,最多见的就是现在许多朋友做调试都不用IIS,而是用的调试工具,所以会出现这样的错误。因为你是用NETBOX调试ASP,所以就导致了这个错误.NETBOX不支持
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> 这样的语句.
第一种改法:在upload.inc中有如下代码
你只要将我用红色标记的换成后面蓝色标注的就可以正常调试了!
第二种是用的IIS调试,这个如果出现上面的错误,请检查下你的upload_5xsoft.inc
是不是存在,是否被调用了,
类没有被定义: 'upload_5xSoft'
\up.asp, line 240”
这个页面是许多朋友做网站调试时遇到的问题,原来好好的网站源码,就因为这个只能丢掉,关于这个问题,百度有许多回答,但都只是粗劣的说下,让一些新手朋友不知道要从那里入手才可以。今天就这个问题我做一个详细的回答。
“upload_5xsoft”这个是化境上传组件文件,出错的原因为有很多,最多见的就是现在许多朋友做调试都不用IIS,而是用的调试工具,所以会出现这样的错误。因为你是用NETBOX调试ASP,所以就导致了这个错误.NETBOX不支持
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> 这样的语句.
第一种改法:在upload.inc中有如下代码
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> <% dim Data_5xsoft Class upload_5xsoft dim objForm,objFile,Version Public function Form(strForm) strForm=lcase(strForm) if not objForm.exists(strForm) then Form="" else Form=objForm(strForm) end if end function Public function File(strFile) strFile=lcase(strFile) if not objFile.exists(strFile) then set File=new FileInfo else set File=objFile(strFile) end if end function Private Sub Class_Initialize dim RequestData,sStart,vbCrlf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,theFile dim iFileSize,sFilePath,sFileType,sFormValue,sFileName dim iFindStart,iFindEnd dim iFormStart,iFormEnd,sFormName Version="化境HTTP上传程序 Version 2.0" set objForm=Server.CreateObject("Scripting.Dictionary") set objFile=Server.CreateObject("Scripting.Dictionary") if Request.TotalBytes<1 then Exit Sub set tStream = Server.CreateObject("adodb.stream") set Data_5xsoft = Server.CreateObject("adodb.stream") Data_5xsoft.Type = 1 Data_5xsoft.Mode =3 Data_5xsoft.Open Data_5xsoft.Write Request.BinaryRead(Request.TotalBytes) Data_5xsoft.Position=0 RequestData =Data_5xsoft.Read iFormStart = 1 iFormEnd = LenB(RequestData) vbCrlf = chrB(13) & chrB(10) sStart = MidB(RequestData,1, InStrB(iFormStart,RequestData,vbCrlf)-1) iStart = LenB (sStart) iFormStart=iFormStart+iStart+1 while (iFormStart + 10) < iFormEnd iInfoEnd = InStrB(iFormStart,RequestData,vbCrlf & vbCrlf)+3 tStream.Type = 1 tStream.Mode =3 tStream.Open Data_5xsoft.Position = iFormStart Data_5xsoft.CopyTo tStream,iInfoEnd-iFormStart tStream.Position = 0 tStream.Type = 2 tStream.Charset ="gb2312" sInfo = tStream.ReadText tStream.Close '取得表单项目名称 iFormStart = InStrB(iInfoEnd,RequestData,sStart) iFindStart = InStr(22,sInfo,"name=""",1)+6 iFindEnd = InStr(iFindStart,sInfo,"""",1) sFormName = lcase(Mid (sinfo,iFindStart,iFindEnd-iFindStart)) '如果是文件 if InStr (45,sInfo,"filename=""",1) > 0 then set theFile=new FileInfo '取得文件名 iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10 iFindEnd = InStr(iFindStart,sInfo,"""",1) sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart) theFile.FileName=getFileName(sFileName) theFile.FilePath=getFilePath(sFileName) '取得文件类型 iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14 iFindEnd = InStr(iFindStart,sInfo,vbCr) theFile.FileType =Mid (sinfo,iFindStart,iFindEnd-iFindStart) theFile.FileStart =iInfoEnd theFile.FileSize = iFormStart -iInfoEnd -3 theFile.FormName=sFormName if not objFile.Exists(sFormName) then objFile.add sFormName,theFile end if else '如果是表单项目 tStream.Type =1 tStream.Mode =3 tStream.Open Data_5xsoft.Position = iInfoEnd Data_5xsoft.CopyTo tStream,iFormStart-iInfoEnd-3 tStream.Position = 0 tStream.Type = 2 tStream.Charset ="gb2312" sFormValue = tStream.ReadText tStream.Close if objForm.Exists(sFormName) then objForm(sFormName)=objForm(sFormName)&", "&sFormValue else objForm.Add sFormName,sFormValue end if end if iFormStart=iFormStart+iStart+1 wend RequestData="" set tStream =nothing End Sub Private Sub Class_Terminate if Request.TotalBytes>0 then objForm.RemoveAll objFile.RemoveAll set objForm=nothing set objFile=nothing Data_5xsoft.Close set Data_5xsoft =nothing end if End Sub Private function GetFilePath(FullPath) If FullPath <> "" Then GetFilePath = left(FullPath,InStrRev(FullPath, "\")) Else GetFilePath = "" End If End function Private function GetFileName(FullPath) If FullPath <> "" Then GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1) Else GetFileName = "" End If End function End Class Class FileInfo dim FormName,FileName,FilePath,FileSize,FileType,FileStart Private Sub Class_Initialize FileName = "" FilePath = "" FileSize = 0 FileStart= 0 FormName = "" FileType = "" End Sub Public function SaveAs(FullPath) dim dr,ErrorChar,i SaveAs=true if trim(fullpath)="" or FileStart=0 or FileName="" or right(fullpath,1)="/" then exit function set dr=CreateObject("Adodb.Stream") dr.Mode=3 dr.Type=1 dr.Open Data_5xsoft.position=FileStart Data_5xsoft.copyto dr,FileSize dr.SaveToFile FullPath,2 dr.Close set dr=nothing SaveAs=false end function End Class </SCRIPT> %> |
第二种是用的IIS调试,这个如果出现上面的错误,请检查下你的upload_5xsoft.inc
是不是存在,是否被调用了,
相关文章推荐
- PHP使用之网站后台上传图片出错,提示Warning: mkdir() [function.mkdir]: Permission denied……
- WIN7系统,ASP后台不能上传图片,提示 写入文件失败
- FSO组件不可用,各种与FSO相关的功能都将出错!请运行Install.asp或者到后台网站配置处设置好FSO组件名称。或无法使用vbscript
- 后台图片上传出错
- 在网站后台使用uploadify上传图片遇到问题HTTP Error (302)
- 关于asp.net网站上传图片功能失败的处理
- asp.net下CKFinder IE浏览器中上传图片文件时提示“无效文件名或文件夹名称”的解决方法(原创文章)
- 关于在asp.net后台输出提示字符串的时候显示的字符提示出错的问题
- dede验证码不显示,dede图集后台上传图片报错 提示红色FILEID错误的处理办法
- xheditor1.1.14在asp.net网站开发中作为可上传本地图片的在线编辑器
- dedecms织梦网站图片集上传图片出现302错误图片提示怎么解决 已测
- asp.net下CKFinder IE9以下浏览器中上传图片文件时提示“无效文件名或文件夹名称”的解决方法
- andrid 上传图片 asp.net 后台接收并保存
- dedecms5.7-utf-8版本图片集上传图片出错提示FILEID
- asp网站 上传图片失败,删除可以
- IIS6.0asp网站文件上传大小限制和图片上传大小的限制解决方法
- ASP.NET MVC 网站开发总结(三) ——图片截图上传
- asp上传图片提示 ADODB.Stream 错误 '800a0bbc'的解决方法
- 织梦后台上传产品图集出现302提示图片显示Error错误
- 彻底解决ewebeditor网站后台不能上传图片的方法