设为首页   加入最爱           最新更新:全方位英文文章资料库
 
资料坊搜索: 标题 全文     
在webclass中使用文件上传功能
   首页>>YesizeCOM>>电脑技能坊>>ASP>>正文       
 
广告招租,e-mail:yesize@hotmail.com

广告招租,e-mail:yesize@hotmail.com


Webclass实例:http://www.shinco.com/jjx/wcnews/news.asp
许多文件上传组件并不能在vb中正常使用,我测试了chinaasp fileup,aspSmartupload,aspupload
enterprise,inotesupload等组件,均不能正
常使用。其主要原因,是因为在vb中没有促发组件的OnStartPage过程。我们无法改写这些组件,所以要自己编码来解决这
个问题,记得以前有网友谈过这个问题,但没有代码贴出来。
其实以前chinaasp上有个编写web方式上载文件的组件的贴子(我一下找不了,这是我转贴的地址
http://www.shinco.com/jjx/activeubb/NewsDetail.asp?id=134,稍微改写一下就能在webclass中使用了

将原onstartpage过程改为
Public Sub OnStartPage(PassedRequest As Request)

------------------定义局部变量----------------------
Dim varByteCount
Dim i
---------------------------------------------------

------------------建立ASP对象-----------------------
Set MyRequest = PassedRequest
---------------------------------------------------

------------------读取客户端传来的全部数据-----------
varByteCount = MyRequest.TotalBytes
lngArrayLen = varByteCount - 1
ReDim binArray(varByteCount - 1)
binArray = MyRequest.BinaryRead(varByteCount)
---------------------------------------------------

--------------------获取定界符---------------------
intDjfLen = 0
Do Until binArray(intDjfLen + 1) = 13
intDjfLen = intDjfLen + 1
Loop
ReDim binDjf(intDjfLen)
For i = 0 To intDjfLen
binDjf(i) = binArray(i)
Next
---------------------------------------------------
End Sub

在webclass中使用

dim upload as new uploadfile
upload.onstartpage(request)

然后就可以用该类提供的方法了进行操作了,这个组件的功能比chinaasp upload要差些。但已经足够使用了

其他改动

1、为了能用getthevalue方法正确取得input type 为checkbox,radio等的值,在

FindtheName中加入错误处理
Private Function FindTheName(nm As String) As Long
On Error GoTo FindTheNameError
******************************参数说明*****************************
* *
* nm: 要寻找的 Form 元素名 *
* 返回值: 成功—— 找到时的地址,失败—— -1 *
* *
*******************************************************************

------------------定义局部变量----------------------
Dim s As Long
Dim e As Long
Dim i As Long

Dim binTmp() As Byte
Dim strName As String
---------------------------------------------------

------------------寻找要取得值的Form 元素名------------------------
s = 0
Do While 1
s = FindTheDjf(s)
If s <> -1 Then
s = s + intDjfLen + 41
e = s
Do While binArray(e + 1) <> 34
e = e + 1
Loop
ReDim binTmp(e - s)
For i = s To e
binTmp(i - s) = binArray(i)
Next
strName = StrConv(binTmp, 64)
If StrComp(nm, strName) = 0 Then
FindTheName = e + 1
Exit Do
End If
Else
FindTheName = -1
Exit Do
End If
Loop
--------------------------------------------------------------
Exit Function
FindTheNameError:
FindTheName = -1

End Function

2、删除类声明中的
Private MyScriptingContext As ScriptingContext定义


上一篇:分页技术:Oracle \"rownum\"新发现 下一篇:读取目录下的文件得到一个数组

版权说明:作品来源于网上,版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。yesize@hotmail.com
  热门小游戏分类 
射击小游戏 连连看小游戏
台球小游戏 成人小游戏
CS小游戏 化妆小游戏
赛车小游戏 休闲小游戏
篮球小游戏 换装小游戏
儿童小游戏 牛牛小游戏
麻将小游戏 冒险小游戏
美媚小游戏 益智小游戏
体育小游戏  
Society Recreation & Sports
Travel & Leisure Communications
Vehicles Computers
Fashion Arts & Entertainment
Reference & Education Disease & Illness
Writing & Speaking Politics
Product Reviews Food & Beverage
Finance Internet Business
Self Improvement Home & Family
Health & Fitness Business
最新更新内容
警惕“公务员报考热”背
公务员考试不是丈母娘考
一名新公务员的自白:我
公务员考脑筋急转弯与挂
北努斗:2006行政能力测
大讨论:06行测BT题目大
过来人回忆:当年,我也
一家之言:公务员热折射
公务员考试申论要是有正
数十万大学生走进公务员
      粤ICP备05005424         Copyright ©2000 - 2004 Yesize.COM