[ASP]无组件上传图片的代码.doc_第1页
[ASP]无组件上传图片的代码.doc_第2页
[ASP]无组件上传图片的代码.doc_第3页
[ASP]无组件上传图片的代码.doc_第4页
[ASP]无组件上传图片的代码.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ASP图片上传的代码我好不容易弄到了一个能上传图的代码,本以为是很完美了。但在运行时还是出现点错误,请高手指教!我是用一个含有表单的静态网页来接受图形数据及其他表单域的值,提交到updata.asp来处理updata.asp: %Response.Buffer=true formsize=Request.TotalBytes formdata=Request.BinaryRead(formsize) Set Fields = GetUpload(FormData) lanmu=Fields(lanmu).value按错误信息提示是从这一句开始出错的:缺少对象: Fields(.) xinjiu=Fields(xinjiu).valuefangshi=Fields(fangshi).valuediqu=Fields(diqu).valuebiaoti=Fields(biaoti).valuejiage=Fields(jiage).valueneirong=Fields(neirong).valueurl=Fields(url).valuedianhua=Fields(dianhua).valueqq=Fields(qq).valuelianxiren=Fields(lianxiren).valuejiezhi=Fields(jiezhi).valueimgdata=Fields(pic).valueDim rs_updataDim rs_updata_numRowsSet rs_updata = Server.CreateObject(ADODB.Recordset)rs_updata.ActiveConnection = MM_co_jiaoyi_STRINGrs_updata.Source = SELECT id, name, lanmu, xinjiu, fangshi, diqu, biaoti, jiage, neirong, pic, url, dianhua, qq, lianxiren, jiezhi, time, hfs, dianji FROM tjiaoyirs_updata.CursorType = 0rs_updata.CursorLocation = 2rs_updata.LockType = 1rs_updata.Open()rs_updata.addnewrs_updata.Fields(lanmu).value=lanmurs_updata.Fields(xinjiu).value=xinjiurs_updata.Fields(fangshi).value=fangshirs_updata.Fields(diqu).value=diqurs_updata.Fields(biaoti).value=biaotirs_updata.Fields(jiage).value=jiagers_updata.Fields(neirong).value=neirongrs_updata.Fields(pic).AppendChunk imgdatars_updata.Fields(url).value=urlrs_updata.Fields(dianhua).value=dianhuars_updata.Fields(lianxiren).value=lianxirenrs_updata.Fields(qq).value=qqrs_updata.Fields(jiezhi).value=jiezhirs_updata.update rs_updata.Close()Set rs_updata = NothingResponse.write 恭喜您!您的信息已经发布成功!返回%其中upload.inc提供GetUpload函数,用该函数来获得表单所提交的图片数据和其他表单域的值upload.inc Function GetUpload(FormData) Dim DataStart,DivStr,DivLen,DataSize,FormFieldData DivStr = LeftB(FormData,InStrB(FormData,str2bin(VbCrLf) + 1) DivLen = LenB(DivStr) PosOpenBoundary = InStrB(FormData,DivStr) PosCloseBoundary = InStrB(PosOpenBoundary + 1,FormData,DivStr) Set Fields = CreateObject(Scripting.Dictionary) While PosOpenBoundary 0 And PosCloseBoundary 0 FieldNameStart = InStrB(PosOpenBoundary,FormData,str2bin(name=) + 6 FieldNameSize = InStrB(FieldNameStart,FormData,ChrB(34) - FieldNameStart ()µÄASCÖµ=34 FormFieldName = bin2str(MidB(FormData,FieldNameStart,FieldNameSize) FieldFileNameStart = InStrB(PosOpenBoundary,FormData,str2bin(filename=) + 10 If FieldFileNameStart PosopenBoundary Then FieldFileNameSize = InStrB(FieldFileNameStart,FormData,ChrB(34) - FieldFileNameStart ()µÄASCÖµ=34 FormFileName = bin2str(MidB(FormData,FieldFileNameStart,FieldFileNameSize) Else FormFileName = End If Content-TypeÆðʼλÖÃ(Content-Type: xxxxx) FieldFileCTStart = InStrB(PosOpenBoundary,FormData,str2bin(Content-Type:) + 14 If FieldFileCTStart PosOpenBoundary Then FieldFileCTSize = InStrB(FieldFileCTStart,FormData,str2bin(VbCrLf & VbCrLf) - FieldFileCTStart FormFileCT = bin2str(MidB(FormData,FieldFileCTStart,FieldFileCTSize) Else FormFileCT = End If data beginDataStart = InStrB(PosOpenBoundary,FormData,str2bin(VbCrLf & VbCrLf) + 4 If FormFileName Then DataSize = InStrB(DataStart,FormData,DivStr) - DataStart - 1 FormFieldData = MidB(FormData,DataStart,DataSize) Else DataSize = InStrB(DataStart,FormData,DivStr) - DataStart - 2 FormFieldData = bin2str(MidB(FormData,DataStart,DataSize) End If Set Field = CreateUploadField() Field.Name = FormFieldName Field.FilePath = FormFileName Field.FileName = GetFileName(FormFileName) Field.ContentType = FormFileCT Field.Length = LenB(FormFieldData) Field.Value = FormFieldData Fields.Add FormFieldName, Field PosOpenBoundary = PosCloseBoundary PosCloseBoundary = InStrB(PosOpenBoundary + 1,FormData,DivStr) Wend Set GetUpload = Fields End Function 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 Function str2bin(varstr) str2bin= For i=1 To Len(varstr) varchar=mid(varstr,i,1) varasc = Asc(varchar) If varasc255 Then varlow = Left(Hex(Asc(varchar),2) varhigh = right(Hex(Asc(varchar),2) str2bin = str2bin & chrB(&H & varlow) & chrB(&H & varhigh) Else str2bin = str2bin & chrB(AscB(varchar) End If Next End Function Function GetFileName(FullPath) If FullPath Then FullPath = StrReverse(FullPath) FullPath = Left(FullPath, InStr(1, FullPath, ) - 1) GetFileName = StrReverse(FullPath) Else GetFileName = End If End Function function CreateUploadField() return new uf_Init() function uf_Init() this.Name = null this.FileName = null this.FilePath = null this.ContentType = null this.Value = null this.Length = null 运行到updata.asp显示出错信息:Microsoft VBScript 编译器错误 错误 800a03f6 缺少 End /iisHelp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论