15年来,为全国50万+企业提供互联网数字化基础应用服务。
知 识
0514-86177077
9:00-17:00(工作日)
首 页
企业400电话
Hot
网站☯建设
微网小程序
商标✡知产
网络营销推广
AI电话机器人
热
彩铃©短信
增值拓展业务
新
主页
>
知识库
> Asp无组件上传进度条解决方案
Asp无组件上传进度条解决方案
热门标签:
伊春外呼业务系统
中国办理电信400电话
绵阳防封电销卡价格
河北智能外呼系统软件
电销机器人教育
电销机器人源码网盘下载
调度系统外呼
宜宾语音外呼系统软件
福建外呼增值业务线路
一、无组件上传的原理
我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,我们通过input type="file">元素,但是一定要注意必须设置form的enctype属性为"multipart/form-data":
form method="post" action="upload.asp" enctype="multipart/form-data">
label>
input type="file" name="file1" />
/label>
br />
input type="text" name="filename" value="default filename"/>
br />
input type="submit" value="Submit"/>
input type="reset" value="Reset"/>
/form>
在后台asp程序中,以前获取表单提交的ASCII 数据,非常的容易。但是如果需要获取上传的文件,就必须使用Request对象的BinaryRead方法来读取。BinaryRead方法是对当前输入流进行指定字节数的二进制读取,有点需要注意的是,一旦使用BinaryRead 方法后,再也不能使用Request.Form 或 Request.QueryString 集合了。结合Request对象的TotalBytes属性,可以将所有表单提交的数据全部变成二进制,不过这些数据都是经过编码的。首先让我们来看看这些数据是如何编码的,有无什么规律可循,编段代码,在代码中我们将BinaryRead读取的二进制转化为文本,输出出来,在后台的upload.asp中(注意该示例不要上传大文件,否则可能会造成浏览器死掉):
%
Dim biData, PostData
Size = Request.TotalBytes
biData = Request.BinaryRead(Size)
PostData = BinaryToString(biData,Size)
Response.Write "pre>" PostData "/pre>" '使用pre,原样输出格式
' 借助RecordSet将二进制流转化成文本
Function BinaryToString(biData,Size)
Const adLongVarChar = 201
Set RS = CreateObject("ADODB.Recordset")
RS.Fields.Append "mBinary", adLongVarChar, Size
RS.Open
RS.AddNew
RS("mBinary").AppendChunk(biData)
RS.Update
BinaryToString = RS("mBinary").Value
RS.Close
End Function
%>
简单起见,上传一个最简单的文本文件(G:\homepage.txt,内容为"宝玉:
http://www.webuc.net"
;)来试验一下,文本框filename中保留默认值"default filename",提交看看输出结果:
-----------------------------7d429871607fe
Content-Disposition: form-data; name="file1"; filename="G:\homepage.txt"
Content-Type: text/plain
宝玉:
http://www.webuc.net
-----------------------------7d429871607fe
Content-Disposition: form-data; name="filename"
default filename
-----------------------------7d429871607fe--
可以看出来对于表单中的项目,是用过"-----------------------------7d429871607fe"这样的边界来分隔成一块一块的,每一块的开始都有一些描述信息,例如:Content-Disposition: form-data; name="filename",在描述信息中,通过name="filename"可以知道表单项的name。如果有filename="G:\homepage.txt"这样的内容,说明是一个上传的文件,如果是一个上传的文件,那么枋鲂畔⒒岫嘁恍蠧ontent-Type: text/plain来描述文件的Content-Type。描述信息和主体信息之间是通过换行来分隔的。
嗯,基本上清晰了,根据这个规律我们就知道该怎么来分离数据,再对分离的数据进行处理了,不过差点忽略一个问题,就是边界值(上例中的"-----------------------------7d429871607fe")是怎么知道的?每次上传这个边界值是不一样的,还好还好asp中可以通过Request.ServerVariables( "HTTP_CONTENT_TYPE")来获之,例如上例中HTTP_CONTENT_TYPE内容为:"multipart/form-data; boundary=---------------------------7d429871607fe",有了这个,我们不仅可以判断客户端的form中有无使用enctype="multipart/form-data"(如果没有使用,那么下面就没必要执行啦),还可以获取边界值boundary=---------------------------7d429871607fe。(注意:这里获取的边界值比上面的边界值开头要少"--",最好补充上。)
至于如何分析数据的过程我就不多赘述了,无非就是借助InStr,Mid等这样的函数来分离出来我们想要的数据。
二、分块上传,记录进度
要实时反映进度条,实质就是要实时知道当前服务器获取了多少数据?再回想一下我们实现上传的过程,我们是通过Request.BinaryRead(Request.TotalBytes)来实现的,在Request的过程中我们无法得知当前服务器获取了多少数据。所以只能通过变通的方法了,如果我们可以将获取的数据分成一块一块的,然后根据已经上传的块数我们就可以算出来当前上传了多大了!也就是说,如果我1K为1块,那么上传1MB的输入流就分成1024块来获取,例如我当前已经获取了100块,那么就表明当前上传了100K。当我提出分块的时候很多人觉得不可思议,因为他们都忽略BinaryRead方法不仅是可以读取指定大小,而且可以连续读取的。
写个例子来验证一下分块读取的完整性,在刚才的例子基础上(注意该示例不要上传大文件,否则可能会造成浏览器死掉):
%
Dim biData, PostData, TotalBytes, ChunkBytes
ChunkBytes = 1 * 1024 ' 分块大小为1K
TotalBytes = Request.TotalBytes ' 总大小
PostData = "" ' 转化为文本类型后的数据
ReadedBytes = 0 ' 初始化为0
' 分块读取
Do While ReadedBytes TotalBytes
biData = Request.BinaryRead(ChunkBytes) ' 当前块
PostData = PostData BinaryToString(biData,ChunkBytes) ' 将当前块转化为文本并拼接
ReadedBytes = ReadedBytes + ChunkBytes ' 记录已读大小
If ReadedBytes > TotalBytes Then ReadedBytes = TotalBytes
Loop
Response.Write "pre>" PostData "/pre>" ' 使用pre,原样输出格式
' 将二进制流转化成文本
Function BinaryToString(biData,Size)
Const adLongVarChar = 201
Set RS = CreateObject("ADODB.Recordset")
RS.Fields.Append "mBinary", adLongVarChar, Size
RS.Open
RS.AddNew
RS("mBinary").AppendChunk(biData)
RS.Update
BinaryToString = RS("mBinary").Value
RS.Close
End Function
%>
试验一下上传刚才的文本文件,输出结果证明这样分块读取的内容是完整的,并且在While循环中,我们可以在每次循环时将当前状态记录到Application中,然后我们就可以通过访问该Application动态获取上传进度条。
另:上例中是通过字符串拼接的,如果是要拼接二进制数据,可以通过ADODB.Stream对象的Write方法,示例代码如下:
Set bSourceData = createobject("ADODB.Stream")
bSourceData.Open
bSourceData.Type = 1 'Binary
Do While ReadedBytes TotalBytes
biData = Request.BinaryRead(ChunkBytes)
bSourceData.Write biData ' 直接使用write方法将当前文件流写入bSourceData中
ReadedBytes = ReadedBytes + ChunkBytes
If ReadedBytes > TotalBytes Then ReadedBytes = TotalBytes
Application("ReadedBytes") = ReadedBytes
Loop
三、保存上传的文件
通过Request.BinaryRead获取提交数据,分离出上传文件后,根据数据类型的不同,保存方式也不同:
对于二进制数据,可以直接通过ADODB.Stream对象的SaveToFile方法,将二进制流保存成为文件。
对于文本数据,可以通过TextStream对象的Write方法,将文本数据保存到文件中。
对于文本数据和二进制数据,是可以方便的相互转换的,对于上传小文件来说,两者基本上没什么差别。但是两种方式保存时还是有一些差别的,对于ADODB.Stream对象,必须将所有数据全部装载完才可以保存成文件,所以使用这种方式如果上传大文件将很占用内存,而对于TextStream对象,可以在文件创建好后,一次Write一部分,分多次Write,这样的好处是不会占用服务器内存空间,结合上面分析的分块获取数据原理,我们可以每获取一块上传数据就将之Write到文件中。我曾做过试验,同样本机上传一个200多MB的文件,使用第一种方式内存一直在涨,到最后直接提示计算机虚拟内存不足,最可恨是即使进度条表示文件已经上传完,但是最终文件还是没有保存上。而使用后一种方法,上传过程中内存基本上无什么变化。
您可能感兴趣的文章:
asp无组件生成验证码 GIF图片格式
Asp无组件生成缩略图的代码
无组件上传图片之文件采用方案
在无组件的情况下,如何上传图片?
无组件实现文件上传/下载
无组件生成缩略图
ASP无组件分页实现思路及代码
标签:
铜川
优质小号
延边
河池
那曲
新乡
电商邀评
苏州
巨人网络通讯声明:本文标题《Asp无组件上传进度条解决方案》,本文关键词 Asp,无,组件,上传,进度,条,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
相关文章
下面列出与本文章《Asp无组件上传进度条解决方案》相关的同类信息!
Asp无组件上传进度条解决方案
一、无组件上传的原理 我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,我们通过input type="file"元素,但是一定要注意必须设置form的enctype属性为"multipart/form...
10-18
400电话号码在哪里办理?详细解析四个方面-400电话号码在哪里办理
近年来,越来越多的企业开始使用400电话,这也促使越来越多的人了解和使用400电话。然而,对于很多人来说,他们并不清楚...
07-21
清扫机器人
【清扫机器人】 使用智能语音机器人代替传统劳动力将帮助企业转型和提升竞争力。 只有一台服务器和一名熟练的员工可以...
10-31
400电话办理多少钱?全面解析
很多企业和个人都需要一个专业的售后服务团队,随着科技的进步和企业的发展,越来越多的企业使用400电话提供客户服务和...
07-21
湛江不封号电销卡咨询
详细介绍: 本公司是一家专业做 电话销售卡 的通信公司!卡种品类多,归属地齐全。 可以满足不同客户的各种需求!用Z真...
12-11
呼叫中心自主班务:我的班时我做主
在呼叫中心里面,班时对员工的重要性不言而喻。它关系到员工的工作节奏,也关系到员工与同事的相处时间,最终还会关系...
10-22
提升企业形象就来巨人科技
企业形象是企业的一种无形资产,这种无形资产是非常宝贵的。要想提升企业形象就来巨人科技!企业形象不仅能够维持老顾...
05-15
上海移动电话外呼线路办理服务商-诚信经营
上海移动电话外呼线路办理服务商这就降低了机器人的拨打效率了。所以留给后续人工跟进是合理的。打断功能是客户说任何...
01-16
太原外呼系统线路(太原呼叫中心)
本文目录一览: 1、电销外呼体系哪个好了?市面上的太多了!有能够引荐的吗?2、外呼线路供给是什么?3、想自己做机器...
11-28
智能电话机器人发展前景(电话机器人行业)
本文目录一览: 1、智能电话机器人怎么样?2、智能语音机器人远景好吗?3、说一说智能语音机器人未来开展的远景怎么样...
11-28
公司电话400电话怎么申请(公司办理400电话需要注意什么)
公司电话400电话怎么申请(公司办理400电话需要注意什么) 如果你正在运营着一家公司,你需要一个容易被客户联系的电话...
08-14
办理400电话的收费标准400电话咨询办理
(办理400电话的收费标准)(400电话咨询办理)以下内容由巨人小编整理发布。 400电话的收费标准:0开户费、0选号费、0月租,只...
01-12
陇南电话机器人价钱 电销系统
汇港通科技组装于2018年,是一家潜心于大中小企业精准经营销售和企业管理效劳处置计划的供给商。汇港通自决研制鉴于大...
10-31
昭通电话机器人外呼系统(电话营销呼叫机器人)
本文目录一览:1、外呼系统怎么用?我也是做电销的,打电话打多了就会被封号2、电销助手外呼系统?3、外呼机器人是什么?4、...
06-20
首批双千兆城市名单发布,京津沪等29个城市获评
12月24日,首届“千兆城市”高峰论坛在山东省青岛市举行,会上正式发布了全国首批“千兆城市”建设成果。工业和信息化...
10-13
网站关键词库建立与筛选?
任何一个SEO从业者都应该知道建立一个行业关键词库的重要性。特别是在外链作用薄弱的当前环境下,建立优质网站内容,确...
10-19
昆明抗封电销卡(云南昆明电话卡)
本文目录一览: 1、什么样的电销卡安稳抗封卡?2、防封电销卡有用吗?3、电销卡 不封号是真的吗?什么样的电销卡安稳抗封...
04-23
物联卡放在路由器上能用吗?跟着搜卡之家一块来看看吧
无线网络现在已经是非常普及了,但是,有很多场所由于一些条件的限制,导致无法正常的安装宽带,那么,物联卡能放路由...
10-13
开封u友防封电销卡的简单介绍
本文目录一览:1、电销卡怎么防封?2、电销封卡怎么解决?3、电销软件真的可以防封卡吗?电销卡怎么防封? 第一种:回拨系统...
07-10
上海广升“让终端更智慧”:三大方案表态MWC上海
一年一度的世界移动通信大会(MWC)是全球移动通信行业规模最大、最有影响力的盛会,见证了移动通信行业巨变的十年。但作...
10-16
服务主导逻辑下的服务外包市场营销
笔者在前几期的文章中介绍了服务科学研究在发达国家的持续探索和不断深入。伴随着全球服务产业的蓬勃发展,服务科学的...
10-22
Win8邮件应用快速获取人脉应用中联系人的方法
Win8系统中,邮件和人脉都是Windows系统提供的Metro风格的应用,二者可以进行良好的互相配合。通过人脉应用,我们可以快速...
10-20
Win10一周年更新预览版14352修复内容大全:bug修复和性能提升
5月27日消息,微软在今早推送了Win10一周年更新预览版14352,该版本包括许多bug修复和性能提升,本文将详细说明其修复内容...
10-20
美国:软服务采购倾向于发包给非营利机构
大规模购买始于20世纪70年代 美国政府通过合同和补助等方式向社会力量购买公共服务已经有很长历史。美国政府认为购买公...
10-22
400电话是几位的(400电话有几位)
【400电话是几位的】400电话是一个10位数字的虚拟号码,是以400开头的,它是全国号码,没有地区限制,因此也没有区号,我...
11-07
清远电销不封号系统下载
清远电销不封号系统下载 电销系统: 完善的数据报表,企业相关数据可以完成标准化沉淀。 为相关服务质量提升、企业后续...
11-18
腾讯地图上不显示我的店铺标,腾讯地图上不显示我的店铺
腾讯地图能搜索到店铺+就是地图上不显示? 您好,我正在帮您查询相关的信息,马上回复您。【摘要】腾讯地图能搜索到店...
11-26
ASP高级技巧精选集
一、GetRows的使用方法: % Setconn=Server.CreateObject("Adodb.Connection") conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="Server.Mappath("test.mdb...
10-18
小米商城上线“米兔儿童磁力积木”,售价199元
站长之家(Chinaz.com) 8 月 14 日消息 小米商城今天上架了一款新儿童玩具:“米兔儿童磁力积木”,新品主打磁力拼搭、进口...
10-16
电销专用卡办理-蜗牛移动电销卡
电销专用卡办理-蜗牛移动电销卡 科技有限公司主营电销卡、防封电话卡、电销专用卡、高频不封外呼系统、呼叫中心、防封...
02-04
哪里办400电话更好?
现在越来越多的企业纷纷选择办理400电话,400电话也成为了企业必不可少的一部分。首先,选择一个有资质运营平台的技术服...
05-09
阜阳市电话机器人厂家(阜阳机器人小镇)
本文目录一览:1、苏创投app客服怎么转人工2、电销机器人十大排行榜3、什么牌子的AI呼叫机器人做得比较好呢?4、绵阳公积...
08-28
快手开通商家号如何进行提现
一谈起快手的推广思路,许多的企业和商家其实都是缺少这个快手的逻辑,所以这也是为什么在后期的推广作用会欠好的原因...
03-01
用什么电话卡做电销(电话销售用哪种电话卡)
本文目录一览:1、电销电话卡哪家的好?2、电销电话卡选择哪家的好?3、专门打电话的手机卡是什么手机卡去手机店怎么说...
07-10
iOS地图标注应用增加虚拟现实模式
iOS 11 beta 2的苹果地图中增加了一个新的虚拟现实模式,它利用苹果的ARKiT架构,让用户感受3D地图的便利。 这个新的特性与...
04-13
Zendesk推出与WhatsApp业务解决方案的集成
CTI论坛(ctiforum.com)8月21日消息(编译/老秦): Zendesk已宣布与WhatsApp整合,允许企业管理客户服务互动,并通过WhatsApp直接与客...
10-19
案例研究:方正科技呼叫中心,全程服务,创造优质体验
基本情况 作为方正科技四大业务平台之一的服务平台,是方正科技继采购、制造、销售之后最重要的业务链,担负着方正科...
10-22
蓝光系统怎么封外呼和门(蓝光系统外呼设置)
今天给各位分享蓝光系统怎么封外呼和门的知识,其中也会对蓝光系统外呼设置进行解释,如果能碰巧解决你现在面临的问题...
05-16
呼叫中心工作效率如何提高
【导读】互联网时代,呼叫中心作为企业的一个对外窗口,负责着电话销售、电话回访、投诉处理等工作。因此,企业也要管...
01-16
华夏银行外呼系统(华夏银行外呼专员是做什么的)
本文目次一览: 1、952077是中原银行吗 2、中原银行网上领取零碎的首要功用和劣势在那边? 3、中原银行人工办事怎样打 9...
11-25
洛阳防封号电销系统怎么办理
洛阳防封号电销系统怎么办理 电销防封号系统只能从销售软件本身的技术质量入手:1。稳定的防封号系统是软件定制开发公司...
11-14
福州包月电话销售系统报价,电话线路-你应该知道
一企嗨电话营销系统 1.当前的电销场景有哪些困扰? 1)手机.卡频繁被封,电销业务难以启动; 2)销售人员号码被标注,...
12-17
钟祥华翔电销卡(钟祥华翔电销卡电话号码)
本文目录一览:1、电销外呼软件2、华翔云语实名后打电话有什么影响3、华翔手机卡是什么卡4、华翔云语电销卡封号解封需...
07-10
(企业办理400电话有用么)
越来越多的企业使用400电话作为客服电话,400电话已经成为了企业的一部分,400电话办理帮助企业企业进入市场经营活动,并...
11-07
清扫云电话机器人(智能机器人清扫器)
本文目录一览:1、扫地机器人怎么样扫地机器人的国内外2、电话机器人多少钱?贵嘛?3、智能扫地机器人品牌扫地机器人有哪...
06-20
震后成都借软件雄起
成都是一块福地。 她,不仅是几千年来天府之国从未变更的人文要地,更是荣获“联合国人居奖”的最宜人居城市。而在5...
10-22
电销卡二级代理(电销卡二级代理怎么办理)
本文目录一览:1、电销卡在哪里办理2、移动白名单卡有没有危险3、电销卡高频不封是真的吗?在哪购买?4、电销卡在哪里办理...
07-10
400电话众多的优点吸引着中小企业的加入
目前拥有400电话的企业,正在努力开掘潜在商机,400电话优点让更多没有守旧400的企业动心,究竟400电话有什么吸引他们的神...
12-22
英特商标价值评估方法
英特品(Interbrand)首创的商标价值评估方法获得了国际标准化组织(ISO)106682010的认证,它是全...
10-23
centos中tree插件的使用详解与注意事项
tree插件比较消耗cpu和内存,所以使用时需要注意一下。 tree的安装: yum -y install tree 或者是 sudo apt-get install tree 使用时直接输...
10-20
中国推动机器人产业浪潮,加速机器人经济革命
在北京举行的本届世界机器人大会上,机器人会诊断疾病、打羽球和展现音乐技巧令观众惊呼。这些机械不仅让参观者一窥未...
10-24
Asp无组件上传进度条解决方案
一、无组件上传的原理 我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,我们通过input type="file"元素,但是一定要注意必须设置form的enctype属性为"multipart/form...
10-18
本页收集关于Asp无组件上传进度条解决方案的相关信息资讯供网民参考!
推荐文章
铜川外呼营销系统
地图标注任务注册簿
跃讯电销机器人
地图标注服务商咫尺网
高德地图三角图标注册
许昌外呼电话系统联系电话
临沂如何申请400电话号码
外呼系统费用一年
申请400电话流程费用低
呈贡电话外呼管理系统怎么用
长春金伦外呼系统
400电话办理哪家好翰诺科技
衡阳外呼系统
玩转地图标注注册入驻
古剑奇谭1支线地图标注
个人地图标注
高德地图标注地点改名
金融电话机器人外呼
单靠机器人电销可以吗
南京销售外呼系统平台
地图标注服务入驻
仙桃400电话办理
天牛网络地图标注
淮安网络外呼系统
南京自动外呼系统线路
315打电话机器人
开通400电话如何申请
百度地图标注员干啥
西藏乡镇地图标注
北京外呼系统功能
关键词做地图标注
亳州高德地图标注工作
新思维电话机器人适合电商吗
昆明营销外呼系统代理
武汉电销外呼系统招商
外呼系统存在合理么
杭州crm外呼系统一般多少钱
北京销售外呼系统中心
山东的外呼系统软件
海安门店地图标注
江苏移动电销外呼系统多少钱
地图标注贴好用还是钉好用
地产中介外呼系统
中国地图标注服务标
如何注册百度地图标注
苏州语音外呼系统运营商
井冈山茨坪地图标注
电话机器人api对接
电话座席
二七区百应外呼系统怎么收费
濮阳电销回拨外呼系统
怎么做全图地图标注
百度地图标注有佣金吗
常熟中山400电话在哪办理
山西防封电销卡办理靠谱
博茨瓦纳地图标注app
电销外呼系统营销方案
电销机器人价格低
无人车百度地图标注
运营智能外呼系统商家
辽宁智能外呼系统销售价格
智能外呼系统需要改进地方
徐泾镇高德地图标注怎么收费
河南电销外呼系统软件功能
南京智能电销机器人招商
那曲防封电销卡
河北房产智能外呼系统品牌
河南外呼防封系统哪家好
个人如何地图标注门店
聊城外呼电销机器人
地图标注的羽绒服标
y3电话营销外呼系统
镇江外呼系统介绍
徐州语音外呼系统公司
广州人工外呼系统好用吗
腾讯水族馆地图标注
如何在地图标注不同颜色的
江苏自动外呼系统供应商
户籍地址地图标注是什么意思
高德地图标注店铺
曲沃地图标注
保定营销外呼系统价格
车玛仕美发店地图标注
离线电子地图标注版账号密码
保定营销外呼系统招商
圆通快递打电话机器人
400电话办理厂家
谷歌地图标注为去过
西安电话外呼系统线路
AI电销机器人加短信
杭州400电话办理服务
上街区百应外呼系统联系方式
上海市嘉定区地图标注
厄瓜多尔地图标注app
百度地图标注定位
地图标注代办
3C地图标注
太原智能电销机器人官网
呼伦贝尔商家地图标注入驻
泰州呼叫中心外呼系统稳定吗
电话机器人上线工作
高碑店如何办理400电话
日照400电话办理流程
地表水地图标注图例
外呼后端系统不确定异常
保定真人电销机器人供应商
贵州有做地图标注的吗
江苏外呼系统怎么安装
给高德地图标注地址能赚钱吗
济南联通外呼系统
江苏400电话是免费办理吗
ai智能电话机器人搭建
南通销售外呼系统
南通代理外呼系统
地图标注绘制
台湾电销外呼系统
地图标注颜色的
地图标注是什么做的
如何查商户地图标注入驻
怎么代理外呼系统
Asp无组件上传进度条解决方案
上一篇:
ASP 关于动态数据显示页面得锚点
下一篇:
ASP控制每页打印行数
一起分享吧
产品关键词: Asp无组件上传进度条解决方案 Asp,无,组件,上传,进度,条,