第1章 FSO文件管理 1
1.1 FSO简介 1
1.1.1 FSO的对象组成 1
1.1.2 创建FSO对象 2
1.2 驱动器集合 2
1.3 驱动器信息 3
1.4 文件夹集合 5
1.5 文件夹管理 6
1.5.1 文件夹属性 7
1.5.2 文件夹操作 9
1.6 文件集合 14
1.7 文件管理 15
1.7.1 文件属性 15
1.7.2 文件操作 17
1.7.3 操作文本流 19
1.8 其他实用方法 23
第2章 文本与二进制数据处理 27
2.1 基础知识 27
2.1.1 二进制与十六进制 27
2.1.2 文本数据与二进制数据的区别 28
2.1.3 数据类型与内存存储的关系 28
2.1.4 VBScript中的位运算 30
2.1.5 常用的转换函数 31
2.2 常用转换举例 34
2.2.1 取得字符串的内存存储形式 34
2.2.2 取得字符串的某种编码形式 35
2.2.3 字符串转换为BSTR 36
2.2.4 BSTR转换为字符串 38
2.2.5 十六进制字符串转换为二进制数据 39
2.2.6 字符串转换为HTML实体形式 40
2.3 Stream对象的使用 41
2.3.1 简介 41
2.3.2 文本数据 42
2.3.3 二进制数据 49
2.3.4 从文件读取数据 51
2.3.5 操作Stream对象 52
2.3.6 保存到文件 56
2.3.7 Stream对象间的数据复制 57
2.3.8 Stream对象的用途 59
2.3.9 常见错误 65
第3章 编码与乱码 66
3.1 常见编码 66
3.1.1 ASCⅡ 66
3.1.2 ISO 8859系列 67
3.1.3 GB2312 68
3.1.4 GBK 70
3.1.5 Big5 72
3.1.6 Shift_JIS 74
3.1.7 EUC_KR 76
3.1.8 Unicode 78
3.1.9 UTF-8和UTF-16 80
3.1.10 字体 82
3.2 产生乱码的原因 84
3.2.1 打开文件时的编码 84
3.2.2 保存文件时的编码 85
3.2.3 显示网页时的编码 88
3.2.4 ASP程序中的编码 89
3.3 CodePage简介 89
3.3.1 CodePage的形式 89
3.3.2 CodePage编号 90
3.4 ASP中的CodePage 91
3.4.1 @codepage 91
3.4.2 Session.Codepage 93
3.4.3 Response.Codepage 95
3.4.4 ⅡS设置 97
3.4.5 系统默认CodePage 98
3.4.6 文件BOM的奇特作用 99
3.4.7 当前CodePage 99
3.5 CodePage的具体影响 100
3.5.1 影响Request解码 100
3.5.2 影响Server.URLEncode 102
3.5.3 影响字符函数 102
3.5.4 影响Response.Write 104
3.6 Charset的重要作用 104
3.6.1 影响网页的显示 104
3.6.2 影响提交数据的编码 105
3.7 数据库操作中的编码转换 107
3.7.1 排序规则 107
3.7.2 创建数据库、表 108
3.7.3 插入数据 109
3.7.4 检索数据 112
3.7.5 建议的做法 115
3.7.6 关于Access 115
3.8 编码转换整体流程图 116
3.9 问题举例 117
3.9.1 如何编写UTF-8编码的程序 117
3.9.2 境外空间读取数据库乱码 117
3.9.3 英文系统下Chr函数报错 117
3.9.4 Server.MapPath方法结果出现问号 118
3.9.5 GBK与UTF-8程序切换时乱码 119
3.9.6 如何在链接中正确地传递参数 119
3.9.7 Server.URLEncode方法的细节 120
3.9.8 如何编写URLDecode函数 121
3.9.9 Ajax的Get方式返回值乱码 126
3.9.10 Ajax的Post方式传递中文参数乱码 126
3.9.11 使用JavaScript进行URL编码 127
3.9.12 JavaScript读写中文Cookie 130
3.9.13 为什么数据库中是问号 132
3.10 关于本地化 132
3.10.1 区域设置LCID 133
3.10.2 区域设置影响哪些函数 136
第4章 XMLDOM操作 137
4.1 MSXML简介 137
4.1.1 MSXML的版本 137
4.1.2 MSXML的实现机制 138
4.1.3 MSXML的对象构成 139
4.1.4 DOM树的结构 139
4.2 创建Document对象 141
4.3 载入XML数据 143
4.3.1 载入数据 143
4.3.2 同步和异步 143
4.3.3 当前状态 143
4.4 验证XML数据 143
4.4.1 ParseError对象 143
4.4.2 载入时验证 144
4.4.3 使用前验证 145
4.5 遍历节点 147
4.5.1 节点常用属性 147
4.5.2 NodeList和NamedNodeMap的使用 149
4.6 查找节点 149
4.6.1 根据ID查找 150
4.6.2 根据节点名查找元素 151
4.6.3 使用XPath查找 151
4.7 取得节点信息 153
4.7.1 判断节点类型 153
4.7.2 取得节点的属性 153
4.7.3 取得节点的值 154
4.8 追加节点 155
4.8.1 创建节点 156
4.8.2 插入节点 163
4.9 修改节点 163
4.10 删除节点 164
4.11 保存XML 166
4.12 配合XSLT转换数据 166
4.13 使用命名空间 167
4.14 XML中的空白字符 170
4.15 XPath的使用 172
4.15.1 使用举例 172
4.15.2 查找上下文 173
4.15.3 单步表达式 174
4.15.4 内置函数 177
4.15.5 合并查询结果 179
4.15.6 操作符优先级 179
第5章 XMLHTTP操作 181
5.1 XMLHTTP的使用 181
5.1.1 创建XMLHTTP对象 182
5.1.2 创建HTTP请求 183
5.1.3 设置Header 184
5.1.4 发送请求 184
5.1.5 状态及异步方式 187
5.1.6 获取返回的数据 189
5.1.7 中止请求 193
5.1.8 页面缓存 194
5.1.9 小提醒 194
5.2 ServerXMLHTTP的使用 195
5.2.1 创建对象 195
5.2.2 读取远程网页内容 195
5.2.3 读取远程文件 196
5.2.4 登录远程系统 198
5.2.5 发送与接收Cookie 201
5.2.6 超时设置 205
5.2.7 代理设置 205
5.2.8 异步请求 206
5.2.9 小提醒 206
第6章 正则表达式的使用 207
6.1 基本概念 207
6.1.1 原义字符 208
6.1.2 元字符 208
6.1.3 非打印字符 208
6.1.4 字符组 209
6.1.5 否定字符组 209
6.1.6 字符组与否定字符组的简写 210
6.1.7 神奇的字符“.” 210
6.1.8 限定重复次数的量词 210
6.1.9 匹配开始位置和结束位置 211
6.1.10 匹配单词边界 212
6.1.11 选择匹配 213
6.1.12 分组及向后引用 213
6.1.13 正向环视 214
6.1.14 贪婪与懒惰 215
6.1.15 VBScript不支持的特性 217
6.1.16 适度的使用正则表达式 217
6.2 正则对象的使用 218
6.2.1 基本语法 218
6.2.2 验证文本 219
6.2.3 替换文本 220
6.2.4 获取匹配结果 224
6.2.5 循环匹配 227
6.2.6 多行模式 229
6.3 实例演示 231
6.3.1 UBB中Code标签的替换 231
6.3.2 嵌套标签的替换 233
6.3.3 给关键字增加链接 237
6.3.4 清除HTML标签 238
第7章 文件上传与下载 242
7.1 上传文件简介 242
7.1.1 对表单的要求 242
7.1.2 数据的提交格式 243
7.2 无组件上传 246
7.2.1 纯脚本拆分数据的实现 246
7.2.2 化境上传类简介 251
7.2.3 化境上传类代码注解 252
7.2.4 化境上传类的使用方法 256
7.2.5 常见问题 260
7.2.6 上传进度条的实现 262
7.3 AspUpload组件 269
7.3.1 对象组成 270
7.3.2 使用方法举例 271
7.4 FileUp组件 287
7.4.1 对象组成 288
7.4.2 使用方法举例 288
7.5 防范上传漏洞 302
7.5.1 毫无防范 302
7.5.2 只在客户端检查 303
7.5.3 文件后缀名检验不够 304
7.5.4 危险的原文件名 305
7.5.5 IIS解析漏洞 307
7.5.6 文件内容并不可靠 309
7.5.7 其他注意事项 309
7.6 下载文件 309
7.6.1 文件下载简介 310
7.6.2 强制弹出保存对话框 312
7.6.3 文件名乱码的问题 313
7.6.4 支持大文件下载 315
7.6.5 支持文件缓存 316
7.6.6 支持分段下载 319
第8章 图片处理 323
8.1 AspJpeg组件 323
8.1.1 组件简介 323
8.1.2 对象组成 323
8.1.3 基本操作 324
8.2 自由画图 325
8.2.1 画图的坐标系 325
8.2.2 画各种形状 325
8.2.3 添加文字 330
8.2.4 添加图片 340
8.3 图片处理 343
8.3.1 图片缩放 343
8.3.2 图片裁剪 344
8.3.3 图片锐化 345
8.3.4 镜像与旋转 346
8.3.5 图片EXIF取得 348
8.4 GIF动画 349
8.4.1 GIF动画 349
8.4.2 GIF调色板 353
8.4.3 背景透明 358
8.4.4 帧的过渡方式 360
8.4.5 GIF图片缩放 362
8.5 PNG格式 363
8.5.1 输出为PNG图片 363
8.5.2 设置Alpha通道 364
8.5.3 转换Alpha通道 366
第9章 邮件发送 368
9.1 Email简介 368
9.1.1 Email收发流程 368
9.1.2 SMTP简介 369
9.1.3 POP与IMAP简介 371
9.1.4 MX记录 371
9.1.5 邮件的入口与出口 372
9.1.6 邮件内容的结构 377
9.1.7 MIME简介 379
9.2 CDOSYS组件 383
9.2.1 SMTP虚拟服务器 383
9.2.2 发送文本邮件 384
9.2.3 发送HTML邮件 385
9.2.4 添加附件 385
9.2.5 使用远程服务器 385
9.2.6 设置字符集和传输编码 388
9.2.7 构造复杂结构的邮件 389
9.2.8 批量发送 403
9.2.9 邮件收条 404
9.2.10 其他设置 405
9.3 JMail组件 407
9.3.1 发送文本邮件 407
9.3.2 发送HTML邮件 407
9.3.3 添加附件 408
9.3.4 设置传输编码和附件编码 409
9.3.5 发送网页内容 410
9.3.6 采集Email地址 412
9.3.7 嵌入另一封邮件 413
9.3.8 邮件收条 414
9.3.9 使用邮件队列 415
9.3.10 错误处理及发送日志 416
9.3.11 其他设置 418
9.4 AspEmail组件 418
9.4.1 发送文本邮件 419
9.4.2 发送HTML邮件 420
9.4.3 添加附件 421
9.4.4 设置传输编码 422
9.4.5 邮件收条 422
9.4.6 使用邮件队列 423
9.4.7 其他设置 425