ASP网页编程之中文的无组件文件上传ASP函数
当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题函数|上传|无组件|中文申明:持中文的无组件文件上传ASP函数,因为ASP不撑持二进制写进文件,以是存成文件时必需利用组件,本函数只供应截取上传文件的数据,能够写进到数据库。<SCRIPTRUNAT=SERVERLANGUAGE=VBSCRIPT>
FunctionGetUpload(FormData)
DimDataStart,DivStr,DivLen,DataSize,FormFieldData
分开标记串(+CRLF)
DivStr=LeftB(FormData,InStrB(FormData,str2bin(VbCrLf))+1)
分开标记串长度
DivLen=LenB(DivStr)
PosOpenBoundary=InStrB(FormData,DivStr)
PosCloseBoundary=InStrB(PosOpenBoundary+1,FormData,DivStr)
SetFields=CreateObject("Scripting.Dictionary")
WhilePosOpenBoundary>0AndPosCloseBoundary>0
name肇端地位(name="xxxxx"),加6是由于长度为6
FieldNameStart=InStrB(PosOpenBoundary,FormData,str2bin("name="))+6
FieldNameSize=InStrB(FieldNameStart,FormData,ChrB(34))-FieldNameStart(")的ASC值=34
FormFieldName=bin2str(MidB(FormData,FieldNameStart,FieldNameSize))
filename肇端地位(filename="xxxxx")
FieldFileNameStart=InStrB(PosOpenBoundary,FormData,str2bin("filename="))+10
IfFieldFileNameStart<PosCloseBoundaryAndFieldFileNameStart>PosopenBoundaryThen
FieldFileNameSize=InStrB(FieldFileNameStart,FormData,ChrB(34))-FieldFileNameStart(")的ASC值=34
FormFileName=bin2str(MidB(FormData,FieldFileNameStart,FieldFileNameSize))
Else
FormFileName=""
EndIf
Content-Type肇端地位(Content-Type:xxxxx)
FieldFileCTStart=InStrB(PosOpenBoundary,FormData,str2bin("Content-Type:"))+14
IfFieldFileCTStart<PosCloseBoundaryAndFieldFileCTStart>PosOpenBoundaryThen
FieldFileCTSize=InStrB(FieldFileCTStart,FormData,str2bin(VbCrLf&VbCrLf))-FieldFileCTStart
FormFileCT=bin2str(MidB(FormData,FieldFileCTStart,FieldFileCTSize))
Else
FormFileCT=""
EndIf
数据肇端地位:2个CRLF入手下手
DataStart=InStrB(PosOpenBoundary,FormData,str2bin(VbCrLf&VbCrLf))+4
IfFormFileName""Then
数据长度,减1是由于数据文件的存取字节数成绩(多是AppendChunk办法的成绩):
因为字节数为奇数的图像存到数据库时会往失落最初一个字符招致图像不克不及准确显现,
字节数为偶数的数据文件就不会呈现这个成绩,因而必需坚持字节数为偶数。
DataSize=InStrB(DataStart,FormData,DivStr)-DataStart-1
FormFieldData=MidB(FormData,DataStart,DataSize)
Else
数据长度,减2是由于分开标记串前有一个CRLF
DataSize=InStrB(DataStart,FormData,DivStr)-DataStart-2
FormFieldData=bin2str(MidB(FormData,DataStart,DataSize))
EndIf
创建一个Dictionary集存储Form中各个Field的相干数据
SetField=CreateUploadField()
Field.Name=FormFieldName
Field.FilePath=FormFileName
Field.FileName=GetFileName(FormFileName)
Field.ContentType=FormFileCT
</p>ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 那么,ASP.Net有哪些改进呢? Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
页:
[1]