主题:  asp中上载文件的两个问题

bzyum

职务:普通成员
等级:1
金币:1.0
发贴:167
注册:2001/11/24 22:11:43
#12002/10/21 21:51:22
---------------------------------------------------------------------
1、在asp中不能使用leftb(),INSTRB()等函数?
代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>


Untitled Document




<%
bnCRLF = chr(13)&chr(10)
Response.Write(len(vbenter))
FormSize = Request.TotalBytes
if formsize<>0 then
FormData = Request.BinaryRead( FormSize )
Response.BinaryWrite FormData
Divider = LEFTb(FormData,INSTRB( FormData, bnCRLF ) - 1 )
DataStart = INSTRB( FormData, bnCRLF & bnCRLF ) + 4
DataEnd = INSTRB( DataStart + 1, FormData, divider ) - DataStart
Response.ContentType = "image/gif"
Response.BinaryWrite MIDB( FormData, DataStart, DataEnd )
end if
%>






出错信息:

错误类型:
Microsoft VBScript 运行时错误 (0x800A0005)
/myexercise/asp/asptest/TMP638he4bzxu.asp, 第 16 行

浏览器类型:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE2)

页:
POST 8936 bytes to /myexercise/asp/asptest/TMP638he4bzxu.asp

POST 数据:
错误 '80020009'
发生意外。

/iisHelp/common/500-100.asp,行184

----------------------------------------------------------------------
2、在文件上载表单中accept参数无效?
表单代码:



即使不是选择gif文件,依然可以上载



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
注册:2002/1/15 11:01:54
#22002/10/22 0:55:09
1.可以用的
2.这样控制无效.最好用FSO获得文件的TYPE.



5D荣誉版主

职务:普通成员
等级:1
金币:10.0
发贴:271
注册:2002/10/16 16:19:02
#32002/10/22 8:37:18
当然可以用了,你的"vbenter"都没初始化的,len(vbenter)当然是0了

还有啊,type为file时的表单好像也没有accept这个属性的吧?



bzyum

职务:普通成员
等级:1
金币:1.0
发贴:167
注册:2001/11/24 22:11:43
#42002/10/22 22:27:44
注意:出错是第16行,该行代码是
Divider = LEFTb(FormData,INSTRB( FormData, bnCRLF ) - 1 )

这是屏幕上copy下来的,看了半天不知错在何处

莫非其中的bncrlf先得转换一下?



5D荣誉版主

职务:普通成员
等级:1
金币:10.0
发贴:271
注册:2002/10/16 16:19:02
#52002/10/23 8:31:24
换成这个试试:
leftb(formdata,clng(instrb(formdata,bncrlf))-1)