ASP网站制作之用JPEG文件EXIF信息ASP版本(3)
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。dimOffset_to_IFD0dimOffset_to_APP0
dimOffset_to_APP1
dimOffset_to_TIFF
dimOffset_to_SOS
dimLength_of_APP0
dimLength_of_APP1
dimOffset_to_Next_IFD
dimIFDDirectory
IFDDirectory=array(0)
dimOffset_to_ExifSubIFD
dimImageFile
dimIsLoaded
dimExifTemp
ExifTemp=array(0)
constIFD_IDX_Tag_No=0
constIFD_IDX_Tag_Name=1
constIFD_IDX_Data_Format=2
constIFD_IDX_Components=3
constIFD_IDX_Value=4
constIFD_IDX_Value_Desc=5
constIFD_IDX_OffsetToValue=6
FunctionLookupExifTag(which)
dimitem
foreachiteminExifLookup
ifExifLookup(item)=whichthen
LookupExifTag=item
exitfunction
endif
next
LookupExifTag=which
EndFunction
FunctionGetExifByName(ExifTag)
IfIsLoaded=FalseAndImageFile""Then
LoadImage(ImageFile)
ElseIfIsLoaded=FalseAndImageFile=""Then
ExitFunction
EndIf
Dimi
Fori=0ToUBound(IFDDirectory)-1
IfIFDDirectory(i)(IFD_IDX_Tag_Name)=ExifTagThen
GetExifByName=IFDDirectory(i)(IFD_IDX_Value)
ExitFor
EndIf
Next
EndFunction
subLoadImage(picFile)
IfImageFile=""Then
ImageFile=picFile
IfImageFile=""Then
Exitsub
EndIf
EndIf
OpenJPGFileImageFile
IfInspectJPGFile=FalseThen
IsLoaded=False
ExitSub
EndIf
IfIsIntelThen
Offset_to_IFD0=_
HexToDec(ExifTemp(Offset_to_APP1+17))*256*256*256+_
HexToDec(ExifTemp(Offset_to_APP1+16))*256*256+_
HexToDec(ExifTemp(Offset_to_APP1+15))*256+_
HexToDec(ExifTemp(Offset_to_APP1+14))
Else
Offset_to_IFD0=_
HexToDec(ExifTemp(Offset_to_APP1+14))*256*256*256+_
HexToDec(ExifTemp(Offset_to_APP1+15))*256*256+_
HexToDec(ExifTemp(Offset_to_APP1+16))*256+_
HexToDec(ExifTemp(Offset_to_APP1+17))
EndIf
Debug.Print"Offset_to_IFD0:"&Offset_to_IFD0
IsLoaded=True
GetDirectoryEntriesOffset_to_TIFF+Offset_to_IFD0
MakeSenseOfMeaninglessValues
Endsub
FunctionInspectJPGFile()
Dimi
IfExifTemp(0)"FF"AndExifTemp(1)"D8"Then
InspectJPGFile=False
Else
Fori=2ToUBound(ExifTemp)-1
IfExifTemp(i)="FF"AndExifTemp(i+1)="E0"Then
Offset_to_APP0=i
ExitFor
EndIf
Next
IfOffset_to_APP0=0Then
InspectJPGFile=False
EndIf
Length_of_APP0=_
HexToDec(ExifTemp(Offset_to_APP0+2))*256+_
HexToDec(ExifTemp(Offset_to_APP0+3))
Fori=2ToUBound(ExifTemp)-1
IfExifTemp(i)="FF"AndExifTemp(i+1)="E1"Then
Offset_to_APP1=i
ExitFor
EndIf
Next
IfOffset_to_APP1=0Then
InspectJPGFile=False
EndIf
Offset_to_TIFF=Offset_to_APP1+10
Length_of_APP1=_
HexToDec(ExifTemp(Offset_to_APP1+2))*256+_
HexToDec(ExifTemp(Offset_to_APP1+3))
IfChr(HexToDec(ExifTemp(Offset_to_APP1+4)))&Chr(HexToDec(ExifTemp(Offset_to_APP1+5)))&_
Chr(HexToDec(ExifTemp(Offset_to_APP1+6)))&Chr(HexToDec(ExifTemp(Offset_to_APP1+7)))"Exif"Then
InspectJPGFile=False
ExitFunction
EndIf
InspectJPGFile=True
EndIf
EndFunction
FunctionIsIntel()
IfExifTemp(Offset_to_TIFF)="49"Then
IsIntel=True
Else
IsIntel=False
EndIf
EndFunction
FunctionwriteExifToJPG(ExifData,FileName)
DimFSO,FSO2,File,i
ConstadTypeB</p>ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
页:
[1]