存档
最近要用到一套ASP生成静态的小系统,虽然说程序简单,但是写起来还是比较繁琐的,正好前几天写过一个:ASP文件存储方案(http://www.miaoqiyuan.cn/p/asp-filedb),用改类,可以直接快速开发生成ASP的系统。
‘加载模板
‘对于模板,不了解的,可以参考我以前写过的文章,当然也可以用任何asp的模板系统
set p = new MYW3_TPL
p.LoadTpl "tpl/chengyu.html"
p.assign "Title","猫七"
p.assign "WebHome",WebHome
p.assign "WebSkin",WebSkin
‘/index.html
url = "index"
‘/home/index.html
‘url = "home::index"
‘/home/1/2/333.html
‘url = "home::1::2::333"
‘生成静态
‘使用FileDB类,超级简单
set f = new FileDB
f.DBPath = "/"
[...]
四月份做个一个短信系统,当时为了节省成本(使用万网的空间,不带SQL数据库空间便宜),使用了ASP+Access开发,最近需要升级,增加一个短信接口。发现现在Access的数据库竟然有170MB。我的天啊,因为查询比较少,不是很耗资源,所以没有检查出来。
仅仅六个月,数据库竟然到了170MB。随着客户业务的增长,可能再过六个月就要到500MB了,真恐怖。主要占空间大小的,就是存储的短信的发送号码,思考再三,决定将所有的保存到文本文件中。于是写下了一个暂时成为FileDB的asp类。
Class FileDB
Dim fso,IdxKey,DBPath
Private Sub Class_Initialize
Set fso = Server.CreateObject("Scripting.FileSystemObject")
idxKey = "demo::test"
DBPath = "DataCenter/File_DB/"
End Sub
Private Function getPath()
Dim tmp
getPath = replace(idxKey,"::","/") & ".html"
[...]
最近接了一个彩信接口的网站,需要将 文本文件、图片文件 转换成 HexString,通过Form提交,.net、php、javascript的函数网上一抓一大把,asp的却不好找,今天我就来写一个asp版本的hexstring转换函数,为了方便以后用,直接写成类。
class bin2txt
dim adostream
private sub class_initialize
set adostream = server.createobject("ADODB.Stream")
adostream.type = 1
adostream.mode = 3
end sub
[...]
新写的xmlClass,有些简陋,不过常用的功能都可以直接调用了。
<%
‘==============================================================
‘ xmlClass v1.10.0617 by CatSeven
‘==============================================================
‘ 文件:xmlClass.asp
‘ 功能:常用的XML处理
‘ 作者:苗启源(http://www.miaoqiyuan.cn)
‘==============================================================
class xmlClass
Dim xmlobj
Public Sub Class_Initialize
set xmlobj = Server.CreateObject("Microsoft.XMLDOM")
End Sub
Public Sub Class_Terminate
[...]
ASP也能处理JSON数据?呵呵,刚才在Pjblog论坛上看到一个兄弟写的文章,没有测试,不过理论上一定是可以的~ 太晚了,不测试了。
以前处理JSON太麻烦了,输出还好说,循环一下就可以了,解析真的很头疼。所以遇到 这种问题API问题,一般都是XML处理,不太喜欢,很麻烦。
<%
Dim sc4Json
Sub InitScriptControl
Set sc4Json = Server.CreateObject("MSScriptControl.ScriptControl")
sc4Json.Language = "JavaScript"
sc4Json.AddCode "var itemTemp=null;function getJSArray(arr, index){itemTemp=arr[index];}"
End Sub
Function getJSONObject(strJSON)
sc4Json.AddCode "var jsonObject = " & strJSON
Set getJSONObject = sc4Json.CodeObject.jsonObject
End Function
Sub getJSArrayItem(objDest,objJSArray,index)
[...]
JS有Base64.js,PHP内建Base64支持,ASP处理Base64数据就没有那么幸运了,既没有Base64.asp,也没有内建的函数,这可怎么办?
ASP一般用到Base64的时候,都是处理二进制文件。简单的文本,就没有必要编码咯。ASP处理二进制又是一个弱项,有没有好的方法呢?xml中的bin.base64也许可以拿来用用。
‘调用xml的编码,用于参照
function Base64Encode(strData)
dim objAds,objXd
set objAds=createobject("adodb.stream")
objAds.Type=2
objAds.charset="unicode"
objAds.mode=3
call objAds.open()
objAds.writeText strData
objAds.Position=0
objAds.Type=1
‘objAds.Position=2
set objXd=createobject("msxml.domdocument")
call [...]