自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(312)
  • 资源 (44)
  • 收藏
  • 关注

转载 儿子女儿的名字库

儿子女儿的名字库-------记得保存,好听的女孩名字:梓萱 艾琳(寓意: 像美玉一样气质高贵,美丽大方。) 妙涵(寓意: 拥有聪明的智慧与博大的胸怀。) 曼柔(有婀娜多姿,性情温柔之意。) 瑾萱(寓意: 拥有萱草的芬芳,玉一样的高贵与典雅。) 梦婷(取自`雨婷思梦`寓意: 雨中的婷,在憧憬着美好的未来。) 雪茹(寓意: 拥有美丽的容颜与如雪的肌肤。) 海玲

2011-12-03 16:28:26 4338

转载 全世界最可爱的老婆

老公: 你去洗碗。 老婆:好。 老公:那怎么还不动啊? 老婆:我头疼。 老公:懒死了,不让你洗碗你也不头疼。 老婆:真的!一想到要洗碗我就头疼。 关于拿东西 老婆:这个袋子你也拿着吧。 老公:我都拿着四个袋子了,你什么都不拿,好意思吗? 老婆:那我还挽着你呢!你100多斤呢,我拿的东西不比你拿的东西重多了。 关于散步 老婆:咱们一直散步到那条

2011-10-22 13:19:10 1674 1

转载 phpserialize ,PHP 中变量序列化和反序列化在 Python 中的实现

phpserialize ,是一个PHP 的变量序列化和反序列化函数在 Python 的实现。换言之,就是在 Python 语言环境中,借助 phpserialize 可以方便的处理那些在 PHP 中序列化了的文本,将其转变为变量(字符串、数组、整数、对象等),也可以将变量按照

2011-09-27 10:48:32 6717

转载 proFTPd的使用配置

http://www.chinaunix.net目的: 安装配置一个proftpd,达到以下要求 1  不允许匿名访问。 2  开放一个帐号,只有在upload目录有上传权限,可以续传,不能改名和删除。 操作: 0  切换到root帐户 [code

2011-09-25 15:51:18 1190

转载 Linux下安装python及MySQLdb

安装所需软件包: Python-2.6.tar.bz2、MySQL-python-1.2.3c1.tar、setuptools-0.6c11.tar.gz。安装前:1. 定义python的安装目录:PYTHON_DIR = /home/$USER/loca

2011-09-25 13:47:19 3907

转载 Linux 文件系统剖析

http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/

2011-08-10 15:48:19 979

转载 SSH隧道技术简介

http://blog.jianingy.com/2009/09/ssh%e9%9a%a7%e9%81%93%e6%8a%80%e6%9c%af%e7%ae%80%e4%bb%8b/

2011-08-10 15:47:07 1262

转载 硬盘ext2/3文件系统superblock损坏修复试验

http://blog.chinaunix.net/space.php?uid=20615443&do=blog&cuid=1331657

2011-07-18 16:52:59 1219

转载 How to Run Mac OS X in VirtualBox on Windows

http://lifehacker.com/5583650/run-mac-os-x-in-virtualbox-on-windowshttp://www.virtualbox.org/manual/ch03.html#intro-macosxguests

2011-07-12 12:57:58 1059

转载 linux下的screen工具配置(针对 string escape)

GNU的screen工具是一个很好的工具.如果需要经常或者大量的登录服务器进行操作,screen或许还是一个不可或缺的好工具.本文主要想探讨的主要问题是screen的配置脚本中如何自由定制状态栏的内容.也即hardstatus的内容定制.本文所讨论的问题,对于screen工具的使用来说,基本没有什么指导作用,甚至可以认为是一个很无聊的问题,所以如果你是想找如何入门使用screen的话,那么,没有必

2011-06-26 22:23:00 1834 1

转载 怎样用命令查看Mysql数据库大小?

mysql查看命令数据库大小 网上其他的博客也有相关的!不过都不是很完善哈!这哈,来把他搞完善哈!再说我脑子不好使,容易忘记,都比较简单还是写一哈1、进去指定schema 数据库(存放了其他的数据库的信息)1 use information_schema 2、查询所有数据的大小

2011-06-19 20:45:00 2029

转载 ps 命令查看进程状态

linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行

2011-06-11 00:11:00 10875

原创 [转]IIS状态代码的含义

IIS状态代码的含义 概要 当用户试图通过HTTP或文件传输协议(FTP)访问一台正在运行Internet信息服务(IIS)的服务器上的内容时,IIS返回一个表示该请求的状态的数字代码。该状态代码记录在IIS日志中,同时也可能在Web浏览器或FTP客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。 更多信息 日志文件的位置 在默认状态下,IIS把它的

2011-05-25 13:09:00 1091

原创 【转】MySQL 复制的基本过程如下:

MySQL 复制的基本过程如下:  1. Slave 上面的IO线程连接上 Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;   2. Master 接收到来自 Slave 的 IO 线程的请求后,通过负责复制的 IO 线程根据请求信息读取指定日志指定位置之后的日志信息,返回给 Slave 端的 IO 线程。返回信息中除了日志所包含的信息之外,还包括本次返

2011-05-20 11:35:00 1069 7

原创 [转]Bash的输入输出重定向

基础知识文件描述符(File Descriptor),用一个数字(通常为0-9)来表示一个文件。常用的文件描述符如下: 文件描述符 名称 常用缩写 默认值 0

2011-05-16 17:54:00 1172 1

原创 [转]Linux 技巧:让进程在后台可靠运行的几种方法

 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。nohup/setsid/&场景:如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在

2011-05-15 12:09:00 1138 1

原创 [转]linux signal

 Linux signalLinux 2008-08-25 10:04:05 阅读161 评论0 字号:大中小 订阅 0 - normal1 - signal SIGHUP, Hangup.2 - signal SIGINT, Interrupt3 - signal SIGQUIT, Quit4 - signal SIGILL, Illegal instructio

2011-05-11 23:45:00 1626

原创 [转] 文件内容查看 cat,less,more,tail,head,sed

本文讲述几种常用文件内容的查看工具,比如cat、more、less、head、tail等,把这些工具最常用的参数、动作介绍给新手,能让新手在短短的几分钟内上手运用。此文献给面对黑色的控制台不知所措的弟兄。 1、cat 显示文件连接文件内容的工具;cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。比如: [root@

2011-04-09 12:41:00 1387

原创 CPU 用户时间 系统时间

时钟时间(墙上时钟时间wall clock time):就是一个进程从开始运行到结束运行后,时钟走过的时间,这其中包含了进程在阻塞和等待状态的时间。    用户CPU时间:就是用户的进程获得了CPU资源以后,在用户态执行的时间。    系统CPU时间:用户进程获得了CPU资源以后,在内核态的执行时间。   进程的三种状态为阻塞、就绪、运行。   时钟时间 = 阻塞时

2011-03-28 15:21:00 7526 1

原创 linux 安装 mysql

MySQL Community Server 社区版本,免费,不提供官方技术支持 MySQL Enterprise Server 企业版服务器 ,掏钱,还有电话技术支持MySQL Cluster  2台以上 mysql集群服务器MySQL Proxy: 应该是做代理服务器的工具,跟sqlserver agent一样。MySQL Workbench有两个版本:设计数据

2011-02-23 14:07:00 2443

原创 Windows下编写的脚本无法运行?

•解决:– 进行格式转化dos2unix /unix2dos (推荐使用)•Dos->unix: dos2unix filename•Unix->dos: unix2dos filename– 手工去掉^M•Dos->unix: sed -e s//r//g‘•Unix->dos: sed -e ‘s/$//r/g’

2011-02-23 12:01:00 1028

原创 [转]tar 命令使用

解压语法:tar [主选项+辅选项] 文件或者目录使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。主选项:c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘

2011-02-16 10:46:00 806

原创 [转]vi 快捷键

 ctrl+f, ctrl+b                 向下翻页,向上翻页  ctrl+d, ctrl+u                 向下半翻页,向上半翻页  $    移动行尾  0    移动行首  w    移动下一个词  b    移动到上一个词  gg   跳到文档的开始处  G    跳到文档的末尾a, i   在光标后插入, 在光标前插入

2011-02-12 14:45:00 823 1

原创 【转】wget 使用技巧

wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget。 $ wget -r -np -nd http://example.com/packages/这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-n

2011-02-12 14:04:00 776

原创 【转】OUTLOOK签名档中加入写信日期

1 在要插入日期的签名编辑中,按Ctrl + F9 出现 域 { }  2 在此域中输入 { DATE @ "yyyy-MM-dd" } 保存编辑 3 在电子邮件中插入签名,按Ctrl + A 全选, 按F9 日期就自动出来了. 4 以后每次发邮件前,进行第3步操作即可 

2011-01-21 10:33:00 2179

原创 [转]vc6如何设置Unicode字符集

 在VC6中有时需要创建Unicode版本,而工程中默认的两个版本Debug和Release版本都不是Unicode的, 这就需要自己来创建新的版本配置。创建新的配置之前,有两个问题先必须明确,一是编译Unicode版本必须要安装Unicode库,如果在安装VC6时没有选择,则要重新添加;二是Unicode版本程序入口为wWinMainCRTStartup,而不是通常的入口WinMain。

2010-11-29 15:08:00 1746

原创 [转]《帮我买个单》

同学聚会,自从毕业后,好多同学都混得有模有样,我却默默无闻,在一家工厂当制图员,每月和丈夫一起靠着不多的收入共同撑着这个家。我本不打算去,可禁不起同学们的一片盛情,只好答应。    丈夫正在帮儿子复习功课,儿子就要上初中了,为了上一所好中学,这段时间丈夫没少操心,东奔西走,至今还没着落呢。看了儿子一眼,我走出了家门。    天安酒店是高级酒店,我走进包房的时候,同学们都已到齐。还没坐稳,一

2010-11-24 17:17:00 11384

转载 【转】Using hash_map on GCC

If you have tried to use some STL containers with GCC, such as hash_map:// error: hash_map: No such file or directory#include int main(){ // error: ‘hash_map’ is not a member of ‘std’ std::hash_map hm; return 0;}Then you have realized that the code above d

2010-11-19 12:24:00 1394

转载 【转】容器 C++ set和map

<br />容器 C++ set和map<br /> <br /> set, multiset<br />set和multiset会根据特定的排序准则自动将元素排序,set中元素不允许重复,multiset可以重复。<br /><br />因为是排序的,所以set中的元素不能被修改,只能删除后再添加。<br /><br />向set中添加的元素类型必须重载<操作符用来排序。排序满足以下准则:<br />1、非对称,若A<B为真,则B<A为假。<br />2、可传递,若A<B,B<C,则A<C。<br />3

2010-11-19 09:55:00 3225

转载 【转】STL中map用法详解

<br />Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。<br /><br />下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号

2010-11-18 19:36:00 891

原创 [转]《谁让你是飞鸟我是鱼》by(晨曦)

你是否看到了那只在天空徘徊的鸟,你是否看到了那只在海底顾盼的雨...你是一只可以四处栖息的鸟,我是一尾早没了体温的鱼,蓝的天,蓝的海,难为了我和你。什么天地啊,四季啊,昼夜啊,什么海天一色,地狱天堂,暮鼓晨钟,always together forever apart ­。。。  梦里。 ­鱼说:给我一双翅膀吧。让我飞,能和他一起飞。但是,请保留我温软的鱼身。因为,我离不开水。 ­鸟说

2010-11-14 18:41:00 1294 2

原创 [转]Mathtype中批量修改公式的字体和大小

 注意:以下文字仅适用于Mathtype 5.3C以上的版本。网上下载不到的朋友可以联系我:[email protected]   ---------------- 以下为转载: 论文中,由于排版要求往往需要修改公式的大小,一个一个修改不仅费时费力还容易使word产生非法操作。解决办法,批量修改:双击一个公式,打开mathtype,进入编辑状态,点击size菜

2010-11-04 16:36:00 2381

转载 难道我真的只是你生命中的过客?

<br />如果我真的很不重要,如果我只是你生命的过客,<br />那么请你,请你一开始就不要对我好,<br />不要让我发现自己已经习惯你、依赖你到无法自拔。<br /><br />难道从一开始,就已经注定我只是陪你走过一段人生的小路程。<br />如果注定会分离,就别让我去抽离这种习惯!<br />因为我伤不起,更承受不起。<br />也许曾经想过封闭起自己,<br />只是遇到了你,<br />让我觉得有支撑下去的勇气!<br />但是有的时候真的是太在乎了,才最容易受伤了。<br />不经意的知道很

2010-10-29 07:36:00 969 2

原创 [转]老婆还是自己好

 老婆就是那个无论你多老,也给你送秋波的人。她也是一辈子和你共同生活、养儿育女的人。1+1=7是现在家庭的模式,即一对夫妻组成家庭,他们的收入要供养自己日常开销还要抚养一个孩子,赡养4个老人,所以说现在的年轻人面临的负担很重。但是,结婚后爱情会迅速降温,因为再恩爱的人也得面临一个现实的问题:生活。结婚后整天和油盐酱醋打交道,不可避免地产生小摩擦。这时作为丈夫的你能否去理解你的老婆,多为她想想,

2010-10-27 10:25:00 754 3

原创 [转]献给2010年仍然单身的80后

 我们喜欢的, 要么错过了, 要么已经名花/草有主了; 喜欢我们的, 总觉得缺少一种感觉。 于是我们报着追求真感情的态度, 寻找爱情, 可是总觉得交际面太窄, 没有办法认识理想的类型; 于是我们报着宁缺毋滥的态度, 自由着, 孤单着。 有时候我们想寂寞的时候有个可以想念的人, 有时候我们想孤单的时候有个可以说话的人, 有时候我们想难过的时候有

2010-10-26 11:01:00 755 3

原创 【转】电脑显示有软驱

 我没有软盘可我的电脑里却显示有软盘是不中病毒了    不是中病毒造成的,而是BIOS中没有关闭软驱引起的。你可进入BIOS关闭软驱即可。方法如下(不同电脑会有所不同,供参考):1、开机,按DEL键(有些机器是按F2键)不放,直到出现BIOS设置的蓝色窗口;2、将光标移动到(按↑、↓、←、→)“Standard CMOS Features(标准CMOS功能设置)”,按Enter键,出现

2010-10-17 07:51:00 1163

原创 【转】超现实的经典语录

 ⒈世界那么乱,装纯给谁看。⒉距离产生的不是美,是小三。⒊人生就像打电话,不是你先挂,就是我先挂。⒋你的话,我连标点符号都不信。⒌男人的实力就是你兜里的人民币。⒍Hey,请问一下,你的棺材是翻盖的还是滑盖的?⒎2B不只是铅笔,还有你。⒏笑只是一个表情,与快乐无关。⒐早该没心没肺,不用现在撕心裂肺。⒑现在想想,还是幼儿园好混。

2010-10-13 16:52:00 860

原创 【转】雅虎邮箱免费开通POP方法 YAHOO!MAIL YMAIL免费开通POP.SMTP和转发功能

  今 天才发现,原来网易旗下的126和163以及yeah邮箱的POP功能已经关闭了!发现之余,幸运的发现yahoo没有关闭,天无绝人之路啊,想 用的赶快注册吧!所谓POP功能,就是开通后,在电脑上可以收发邮件了,比如通过outlook,foxmail等第三方软件,是非常实用的功能!中国雅虎(邮箱后缀为@yahoo.com.cn或@yahoo.cn),后缀是.com的就不行了哦:)

2010-10-12 18:57:00 43807 1

原创 【转】粒子滤波简介以及相关技术探讨

之前一直在做移动机器人定位算法。查来查去,发觉粒子滤波算法(又叫MC算法)应该算是最流行的了。因此开始学习使用之。入手的是本英文书叫“probalistic robotic” 很不错,我所见到的讲得最好的一本书。花了大量时间去研读。在这里我想谈谈我对粒子滤波的一点认识。因为在这一领域算是个新手。希望有前辈或者达人来指正我的想法。也希望我的这篇文章对新手有理解他有所帮助(当初我就很是苦于它难于理

2010-10-11 09:49:00 1949 1

原创 【转】.NET Interop入门-P/Invoke和Reverse P/Invoke

 最近在论坛上经常看到一些基本的interop的问题,给我动力写完之前的.net interop入门系列,给刚刚涉足.NET  interop的朋友们一个大体上的概念。每每谈及.NET interop,我的脑中总是出现下面一幅图:该图代表了.net interop的四个典型场景。之前我的同事和我讨论了.NET和COM互操作的应用: 在.NET中调用COM:COM Inte

2010-10-10 16:09:00 1087 1

opengl nehe 学习手册

这个是nehe 的非常好的opengl 学习资料,好不容易才找到的,chm文档 使用方便 讲解深刻

2009-11-17

opengl 函数手册

输入搜索你要查找的opengl函数 就可以看到使用的方法以及函数的原型,使用非常的方便

2009-11-17

winfrom项目打包过程.exe

一段视频,详细的说明了在打包的详细过程,我就是按照上面的讲解学会的,希望对各位有所帮助

2009-10-09

动易免费插件 PowerEasy403_Free

独创的任意添加网站频道功能。利用系统提供的“文章”、“下载”、“图片”三个功能模板,可以组合出任意多个频道出来。从此,网站不再限于固定的几个频道。制作大型网站不再是梦想。独创的每个频道都可选择使用“生成HTML”功能,或选择普通ASP程序方式。强大的生成HTML功能。生成HTML功能可以和现在任何其他类似系统相媲美。首页、栏目页、内容页、专题页……所有页面都可以生成完全的HTML页面(评论和点击数统计除外)。更加方便的批量生成功能,使得生成整个网站的所有HTML页面也只需点几下鼠标就可完成。人性化的自动生成功能,在您添加文章时就帮你生成一切需要更新的页面。(免费版不提供)前台页面设计与程序完全分离。只需简单的在后台进行修改页面模板,就可以完成网站的改版。通用灵活的模板设计方法。系统采用流行的“标签”式设计模板方法,如果你用过其他生成HTML功能的系统,设计模板将非常容易上手。与众不同的是,系统提供了功能异常强大的“函数式标签”,这些函数式标签提供了不同的调用参数进行灵活调用,以实现不同的效果。设计模板变得异常简单和方便!10分钟做出一套模板不是梦!系统栏目设定采用无限级分类,简明便捷。便捷的栏目排序、移动、合并功能。最方便的批量设置栏目属性功能。前台栏目显示采用与Windows开始菜单类似的无级分类的下拉菜单效果。 完全自由而灵活的网站风格管理功能。人性化的后台管理员的管理权限,可更方便地对管理员权限进行详细设置。系统空间占用情况图示功能。 后台具有显示树状导航菜单、保存远程图片到本地、留言审核等控制开关。 用户组自由设置功能。并能设置注册用户、收费用户、VIP用户的计费方式和默认有效期。强大的后台文章编辑器的功能。可方便地用拖动的方式进行图文混排。插入图片功能可选择从本地上传或从已上传的图片及文件中选择。 自动分页功能(可以手动分页)。"从word中粘贴"功能,能全部清除word排版格式多余代码。邮件的发送功能、邮件列表功能及列表导出功能。灵活自由的支持多种广告类型的广告系统。显示与管理各频道的上传文件,清除上传的无用垃圾文件功能。 完善的评论及评论管理功能。按月份分目录保存各频道的上传文件。用户表分离,可以方便与论坛进行整合。健全的系统安全性,不允许直接输入地址访问本系统的后台管理页面的功能。后台各项操作都做了严格的权限检查。保存文章时的权限检查及保存远程图片功能。提供文章外部链接功能。企业版还提供了文章签收功能。更多...... ::下载地址:: (注意:如本地连接未能下载,请不要关浏览器,点击其它连接,不会重复扣点。) 下载地址1 ::相关资料:: 没有相关下载 ::站内资料搜索:: 资料ID资料名称关 键 字资料简介资料作者添加用户审核用户资料点数 所有栏目testtes ::下载说明:: * 如有解压密码且未明示,均为:SXGZ。 * 如果您发现该软件不能下载,请通知管理员,谢谢! * 为了达到最快的下载速度,推荐使用网际快车下载本站软件。 * 未经本站明确许可,不得非法盗链及抄袭本站资源;如引用页面,请注明来自“三峡高中”! 网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!) 【发表评论】 没有任何评论 ::发表评论:: 姓名: * Email: * 评分:10 20 30 40 50 60 70 80 90 100

2009-09-04

利用ASP技术实现文件直接上传功能 aspupload

利用ASP技术实现文件直接上传功能 引言 采用WEB技术实现B/S(浏览器/服务器)结构的管理系统是办公自动化的发展趋势。基于WEB技术的管理系统,由于开发周期短;与用户平台无关;易于实现交互式应用;能对信息进行快速、高效的收集、处理和发布,近几年来得到了迅速发展。而ASP技术由于其开发效率高、交互性好,安全性强等特点,逐渐成为开发管理系统的首选工具。 许多基于WEB的应用都涉及文件上传操作。常见的文件上传技术有:基于HTTP协议的;基于VB(或DELPHI等编程语言)开发的文件上传组件的;基于数据库技术的等等。这些方法一般都需要编程者能同时掌握WEB技术、数据库技术或CGI技术或组件技术,对编程者的要求较高。而本文将介绍的利用ASP技术直接实现文件上传功能则只需编程者掌握单一的ASP技术即可,大大降低了编程难度。 几种文件上传技术的比较 1、基于HTTP协议 该方法需要编程者利用第三方软件,如DELPHI、VB等,在应用程序中先进行HTTP协议编程,然后将待上传文件内容按HTTP协议的格式打包,最后向WEB服务器发送上传的请求报文,从而实现文件的上传。因为DELPHI和VB不能编写完整的WEB网络程序,只能编写WEB小应用程序,因此,该方法只用于功能受限的网络应用。 2、基于VB(或DELPHI等)开发的文件上传组件 该方法利用VB(或DELPHI等编程语言)开发ASP服务器组件,实现特定的文件上传服务。它首先利用ASP表单功能将文件(二进制格式)从用户端上传到服务器端,然后使用VB开发的组件,对二进制文件进行处理,成为可以正常读写的文件。该方法要求编程者不仅掌握ASP语言,而且还能利用VB等第三方语言进行组件编程,增加了开发的难度。 3、基于数据库技术 该方法和上个方法有类似之处。不同的地方在于对上传的二进制文件的处理上。它使用数据库来保存二进制文件。无论是小型数据库还是大型数据库都提供了存储二进制数据的数据类型,只要以Append Chunk方式将数据存入相应的字段就可以了。该方法虽然简单可行,但是因为每次上传的文件大小都是不一样的,因此,会对数据库的空间造成很大的浪费,降低了数据的访问速度;并且使得文件只能在数据库环境下进行访问,造成了很大的不便。 实例分析 但是,利用ASP技术直接实现文件上传功能则只需编程者掌握单一的ASP技术即可, 大大降低了编程难度。下面我们将通过一个实例来介绍如何使用该方法。 1、文件上传表单 首先需要编写一个能提供文件上传功能的表单,程序如下所示: <Form action="upload.asp" method=post enctype="multipart/form-data"> 上传文件:<Input type=file name=file1><br> <input type=submit name=upload value="上传"> </form> 其中,enctype参数用来设置表单的MIME编码方式,在进行文件(或同时包含文本框)上传时,必须将其属性设置为"multipart/form-data";upload.asp是服务器端对接收到的二进制文件流进行处理的ASP程序,在本文的后面将陆续介绍其内容。 2、上传文件格式分析 在处理文件之前,我们要先了解上传的文件的具体格式,通过编写下面一段简单的ASP程序就可以查看其二进制代码: <% filesize=Request.TotalBytes '获得上传文件的大小 filedata=Request.BinaryRead(filesize) '获得上传文件的二进制数据 Response.BinaryWrite filedata '在浏览器上显示二进制数据 %> 分析浏览器上显示的上传文件的二进制代码,发现代码包括四个部分(若同时上传多个文件或文本框,则代码按上传的先后次序排列,格式相同),每一部分的内容是用回车换行符号来进行分隔的: 1)第一部分(起始标志) -----------------------------7d329631b04d4 2)第二部分(文件说明) Content-Disposition: form-data; name="file1"; filename="C:\Documents and Settings\Administrator\My Documents\Invitation.doc" Content-Type: application/msword 在此,我们可以获得上传文件的文件名称及绝对路径,也可以获得文件类型。这些信息是正确保存文件所不可缺少的。 3)第三部分(文件内容) 即文件的二进制内容,略。 4)第四部分(结束标志) -----------------------------7d329631b04d4 结合第一部分和第四部分的内容来看,"-----------------------------7d329631b04d4"(每次上传,数值都不一样)起到了分割符的作用,它标志着一段数据(当有多个上传内容时)的开始和结束。从保存文件所需要的信息来讲,我们首先需要从第二部分数据的"filename"中获得文件名称,然后需要正确定位文件的起始位置,最后利用ASP技术将二进制文件用本来的文件名保存即可。若同时上传多个内容(如多个文本框和文件),也是按同样的方法处理,每部分的内容都包含在分割符之中,只是文本框和文件的表现形式稍有不同,这可以通过具体分析其二进制代码来了解。 3、利用ASP技术实现文件存储 上传文件代码的处理 1) 获得分割符代码 从上面的分析我们已经知道,分割符起到了分割多个数据段(包括文本框和各种类型的文件)的重要作用。前面已经分析过,分割符出现在第一个回车换行符号前。因此,通过下面这段程序就可获得分割符代码: <% newline=chrB(13) & chrB(10) 'newline表示二进制的回车符 filesize=Request.TotalBytes 'filesize是上传文件的大小 filedata=Request.BinaryRead(filesize) 'filedata是上传文件的二进制数据 divider=leftB(filedata,clng(instrb(filedata,newline))-1) 'divider是分割符 %> 注:因为这里处理的都是二进制字节码,因此,所有的函数都是使用它的二进制版本,加了"b "。 2) 获得文件(或文本框)内容 (1) 预备函数(将二进制串转化成字符串) 上传文件的内容不需要经过二进制向字符串的转换过程,直接保存就可。但是,若需提取文本框内容或文件的名称,就必须进行转换。因此,需要编写一个通用的,并且适用于汉字的转换函数。以下是该函数代码: Function BtoS (bstr) If not Is Null (bstr) Then for i = 0 to lenb(bstr) - 1 bchr = midb(bstr,i+1,1) If ascb(bchr)>127 Then '汉字是双字节,得两个字符一起处理 temp = temp&chr(ascw(midb(bstr, i+2, 1)&bchr)) i = i+1 Else temp = temp&chr(ascb(bchr)) End If next End If BtoS = temp End Function (2) 获得文件(或文本框)内容 在实际的WEB应用中,上传操作可能涉及多项内容,如多个文本框、多个文件等等。文件和文本框很好区分,文件的数据中包含了"filename="字串。因此,我们写了如下的通用函数,既可用于提取文件内容,又可提取文本框内容(需进行二进制转换): Function getdata(byval data, byval divider, final) 'data表示二进制串;divider表示分割符;final表示数据的结束位置 filename=chrb(102)&chrb(105)&chrb(108)&chrb(101)&chrb(110)&chrb(97)&chrb(109)&chrb(101)&chrb(61)&chrb(34) '字符串"filename"的二进制表示 bncrlf=chrb(13)&chrb(10) '二进制的回车符 startpos = instrb(data,divider)+lenb(divider)+lenb(bncrlf) ' 开始位置 endpos = instrb(startpos,data, divider)-lenb(bncrlf) '结束位置 part1 = midb(data, startpos, endpos-startpos) '两个分割符之间的内容 firstline = midb(part1, 1, instrb(part1, bncrlf)-1) ' 内容之前的说明段 If (instrb(firstline,filename)=0) Then '若为文本框,获得文本框字符串内容 stemp=midb(part1,instrb(part1,bncrlf&bncrlf)+lenb(bncrlf&bncrlf),lenb(part1)-instrb(part1,bncrlf&bncrlf)+lenb(bncrlf&bncrlf)) getdata=BtoS(stemp) Else '若为文件,获得文件二进制内容 Getdata=midb (part1, instrb (part1, bncrlf&bncrlf)+lenb (bncrlf&bncrlf), lenb (part1) -instrb(part1,bncrlf&bncrlf)+lenb(bncrlf&bncrlf)) End If Final=endpos End function 在程序中直接调用该函数就可获得所需文件(或文本框)内容,如下所示: <% Content=getdata (data, divider, position) %> 3) 获得文件名称 前面已经分析过了,上传文件数据流的"filename="字段里包含了文件的名称和绝对路 径。一般来说,我们只需提取出路径中的文件名即可,以下是程序代码: <% namepos=instrrev(B2S(firstline),chr(92)) 'firstline即上面获得的说明部分数据,chr(92) 表示"/" filename=midb(firstline,namepos+1,lenb(firstline)-namepos-1) '获得文件名称 %> 利用ASP直接实现文件上传功能 传统的ASP程序员只能利用FILESYSTEMOBJECT对象对文本文件(.txt)进行移动、复制、删除等操作,若需处理二进制对象,则不得不采用本文前面介绍的那些方法来实现。但是,现在ASP中的ADO.STREAM对象可以同时操作文本对象和二进制对象(可以在http://www.microsoft.com/data下载),利用它就可以在ASP中直接实现文件上传功能。下面,我们就介绍其实现过程。 1)打开STREAM对象 对于SREAM对象而言,若要进行文件的保存,则必须是将该对象的全部内容进行保存。因此,我们必须要创建两个(或多个)STREAM对象,其中一个为源数据流,即接收初始的二进制数据;另一个为目的数据流,即接收来自经源数据流处理后的数据,并最终保存为所需的文件。 <% set str=server.CreateObject("ADODB.Stream") 'str为源数据流 str.Mode=3 '设置打开模式,3为可读可写 str.Type=1 '设置数据类型,1为二进制数据 str.Open set desc=server.CreateObject("ADODB.Stream") 'desc为目标数据流 desc.Mode=3 Desc.Type=1 desc.Open %> 2)STEAM对象间内容的复制 在该部分,必须在源数据流中定位文件开始的位置,并且求出文件内容的长度,才能将文件正确的复制到目的数据流中,并且保存文件,程序代码如下: <% formdata=Request.BinaryRead(Request.TotalBytes) 'formdata为上传的所有内容 str.Write formdata ' 赋值源数据流 str.position=count-lenb(result)-2 'position指出文件的开始位置 str.copyto desc, lenb(filecotent) 'lenb(filecontent)表示文件的长度 desc.SaveToFile fullpath,2 '以fullpath指定的路径及名称保存文件 %> 3)关闭STEAM对象 编程完成后,应关闭并释放STEAM对象,如下所示: <% Desc. Close Set desc=nothing Str. Close Set STR=nothing %> 总结 本文给出了利用ASP直接实现文件上传的方法,在本单位自行开发的信息管理系统中得到了很好的应用。实践证明:与传统的几种文件上传方法相比,该方法更简便、更高效。

2009-09-04

windows 2003 IIS6完整安装包

可能是因为系统文件的损坏或缺少,需要做以下检查、修复: 1.把“esentutl /g %windir%/security/database/secedit.sdb”复制在菜单---"运行"处运行进行损坏检查。 2.把“esentutl /p %windir%/security/database/secedit.sdb”复制在菜单---"运行"处运行进行文件修复。 完成之后可进行正常安装。

2009-09-04

c# winform 打包程序制作

这个一个简单的c#winform 安装程序制作的录像,希望对初学者有个帮助

2009-09-02

asp.net 2.0 水晶报表 例子

Asp.net2.0水晶报表(CrystalReports)事例源码大全(C# web) 这些例子实现了水晶报表的查看、柱状图显示、打印、导出、缩放等基本功能,如果想了解更多比如说利用DataSet方式、Push、Pull等模式需要自己更深一步的研究了 难得的Asp.net2.0水晶报表源码,请珍藏!

2009-08-30

vs 2005 行数统计插件

vs 2005行数统计器插件,直接安装就好使,特别方便

2009-08-28

自己平日整理收集的,常见数据库教程[共9本]

自己平日整理收集的,常见数据库教程[共9本] 有兴趣的看看吧! 1、MS SQL Server循序渐进[chm] 2、MS SQL Server精华[chm] 3、MS SQL_Server菜鸟入门[chm] 4、MS SQL Server参考手册[chm] 5、MYSQL中文参考手册[chm] 6、MYSQL中文手册[chm] 7、中兴公司ORACLE数据库培训[pdf] 8、PostgreSQL中文手册[chm] 9、华为Sybase数据库培训教材[doc]

2009-08-27

Flex3 Beta2+XFire开发实例

本文主要目的是让大家对Flex beta2对WebService应用开发有个启示作用,业务实例比较单一,看完本教程你可以建立自己的WebService。 我想Flex beta2对WebService支持将随着正式版功能的加强会使Flex开发企业应用的建壮性。 工具平台:BEA Workshop 3.2,Flex3.0 Beta2 应用服务器:Tomcat5.5,XFire1.2.6

2009-08-26

一款vs2005自动生成getter/setter插件:VSPropertyGenerator2

用过一段时间的myEclipse,对其附加的小功能艳羡不已,比如右键菜单中的 "source"->"Generate getter or setter"这样看似不起眼,却能分担无意义劳动的工具。 不过,Visual studio总算是有Add-ins机制来扩展功能的,我们可以自己写,也可以分享别人写的插件,比如这款VSPropertyGenerator2 ,就是洋人为我们奉献的一款专门生成setter or getter接口的小插件。 使用很简单,先把这个zip包解压,里面有两个文件: VSPropertyGenerator2.AddIn VSPropertyGenerator2.dll 将它们拷至您的 My Documents\Visual Studio 2005\Addins\文件夹中(没有则创建),重新开启Visual Studio 2005,选择“工具”->“自定义”菜单,进入“命令”选项卡,选中“外接程序”,就能看到它了: 将小黄脸图标拖至菜单栏,找一个需要生成getter or setter的cs文件,点击试试吧! 附: 如果您使用的是vs2008,请忽略以上文字

2009-08-25

vs 2005 插件 getter & setter生成器

在eclipse中提供了getter & setter生成器,但是在VS2005中是没有的。网上搜索一番,决定自己编写Getter & Setter生成器插件(Addin)来替代重复的,无聊的Getter&Setter手工Coding.提高生产效率。 安装方法 Steps to Install CodeFormater Add-In for Visual Studio 2005MapGuide开发者网络 1. Close all instances of Visual Studio 2005. 2. Copy the .addin and .dll files to your Addins directory (usually C:\Documents and Settings\[User]\My Documents\Visual Studio 2005\Addins). 4y3d\~k-l0 If you do not have an Addins directory, create it under your "Visual Studio 2005 "directory. 3. That's it. The next time you open Visual Studio 2005 the CodeFormater add-in will be available. 1。关闭所有的VS2005实例。 2。拷贝.addin 和.dll文件到Addins目录。通常是C:\Documents and Settings\[User]\My Documents\Visual Studio 2005\Addins 3。可以了,下次在运行VS2005,你就会发现“工具”下面多了两个“CodeFormater”和“InserDateTime”

2009-08-25

VS2005插件,自动对齐赋值等号与注释

为了代码看起来更整齐,就希望能把赋值等号和单行注释对齐,VS2005好像没有这个功能,干脆自己动手写一个算了。 注意事项: 适用于VS2005中文版,VS2008没有测试。VS2005英文版下貌似不能加载,好像是一个VS2005安装sp1后的bug吧,我还没搞清楚。 要使用等宽字体,比如新宋体。VS2005环境设置,字体选择框中显示为粗体的是等宽字体。 安装方法 Steps to Install CodeFormater Add-In for Visual Studio 2005MapGuide 1. Close all instances of Visual Studio 2005. 2. Copy the .addin and .dll files to your Addins directory (usually C:\Documents and Settings\[User]\My Documents\Visual Studio 2005\Addins). 4y3d\~k-l0 If you do not have an Addins directory, create it under your "Visual Studio 2005 "directory. 3. That's it. The next time you open Visual Studio 2005 the CodeFormater add-in will be available. 1。关闭所有的VS2005实例。 2。拷贝.addin 和.dll文件到Addins目录。通常是C:\Documents and Settings\[User]\My Documents\Visual Studio 2005\Addins 3。可以了,下次在运行VS2005,你就会发现“工具”下面多了两个“CodeFormater”和“InserDateTime” 使用方法: 选中要进行格式化的代码段,点“工具”--〉“CodeFormater”,即可。 格式整理前: 格式整理后: 大家试用一下,有什么意见和建议,可以给我回复或留言。 以后会加上右键菜单功能,这个还没弄好:)并且会把编写过程写出来,呵呵

2009-08-25

vs 2005 10款插件

Visual Studio 十个有用的小插件 无意中发现这么个地方:Ten Essential Tools,上面介绍了十个很好用的插件,以前用过几个,比如:TestDriven.NET,CodeKeep,于是使劲下了下来,但是还有两个找不到下载连接一个是PInvoke.NET 一个是VSMouseBindings,有那位朋友有或知道下载连接的提供一下,谢谢,我把下下来的打了个包,免得后来的朋友一个个找,请到这里下载 Vs10Add-Ins.part1.rar Vs10Add-Ins.part2.rar Vs10Add-Ins.part3.rar TestDriven.NET Test-driven development is the practice of writing unit tests before you write code, and then writing the code to make those tests pass. By writing tests before you write code, you identify the exact behavior your code should exhibit and, as a bonus, at the end you have 100 percent test coverage, which makes extensive refactoring possible. GhostDoc XML comments are invaluable tools when documenting your application. Using XML comments, you can mark up your code and then, using a tool like nDoc, you can generate help files or MSDN-like Web documentation based on those comments. The only problem with XML documentation is the time it takes to write it you often end up writing similar statements over and over again. The goal of GhostDoc is to automate the tedious parts of writing XML comments by looking at the name of your class or method, as well as any parameters, and making an educated guess as to how the documentation should appear based on recommended naming conventions. This is not a replacement for writing thorough documentation of your business rules and providing examples, but it will automate the mindless part of your documentation generation. Smart Paster Strings play a large role in most applications, whether they are comments being used to describe the behavior of the system, messages being sent to the user, or SQL statements that will be executed. One of the frustrating parts of working with strings is that they never seem to paste correctly into the IDE. When you are pasting comments, the strings might be too long or not aligned correctly, leaving you to spend time inserting line breaks, comment characters, and tabbing. When working with strings that will actually be concatenated, you have to do even more work, usually separating the parts of the string and inserting concatenation symbols or using a string builder. CodeKeep Throughout the process of software development, it is common to reuse small snippets of code. Perhaps you reuse an example of how to get an enum value from a string or a starting point on how to implement a certain pattern in your language of choice. PInvoke.NET P/Invoke is the process used to access native Win32 API calls within the .NET Framework. One of the hard parts of using P/Invoke is determining the method signature you need to use; this can often be an exercise in trial and error. Sending incorrect data types or values to an unmanaged API can often result in memory leaks or other unexpected results. VSWindowManager PowerToy The Visual Studio IDE includes a huge number of different Windows, all of which are useful at different times. If you are like me, you have different window layouts that you like to use at various points in your dev work. When I am writing HTML, I like to hide the toolbox and the task list window. When I am designing forms, I want to display the toolbox and the task list. When I am writing code, I like to hide all the windows except for the task list. Having to constantly open, close, and move windows based on what I am doing can be both frustrating and time consuming. WSContractFirst Visual Studio makes creating Web services deceptively easy You simply create an .asmx file, add some code, and you are ready to go. ASP.NET can then create a Web Services Description Language (WSDL) file used to describe behavior and message patterns for your Web service. VSMouseBindings Your mouse probably has five buttons, so why are you only using three of them? The VSMouseBindings power toy provides an easy to use interface that lets you assign each of your mouse buttons to a Visual Studio command. CopySourceAsHTML Code is exponentially more readable when certain parts of that code are differentiated from the rest by using a different color text. Reading code in Visual Studio is generally much easier than trying to read code in an editor like Notepad. Cache Visualizer Visual Studio 2005 includes a new debugging feature called visualizers, which can be used to create a human-readable view of data for use during the debugging process. Visual Studio 2005 includes a number of debugger visualizers by default, most notably the DataSet visualizer, which provides a tabular interface to view and edit the data inside a DataSet. While the default visualizers are very valuable, perhaps the best part of this new interface is that it is completely extensible. With just a little bit of work you can write your own visualizers to make debugging that much easier. Wrapping It Up While this article has been dedicated to freely available add-ins, there are also a host of add-ins that can be purchased for a reasonable price. I encourage you to check out these other options, as in some cases they can add some tremendous functionality to the IDE. This article has been a quick tour of some of the best freely available add-ins for Visual Studio. Each of these add-ins may only do a small thing, but together they help to increase your productivity and enable you to write better code.

2009-08-25

智能源码统计专家 V3.7 简体中文版

用于对目前流行的几乎所有编程工具所编写的程序进行代码统计,分析出程序中的代码行、注释行、空白行的行数和比例,软件支持VC++、C++ Builder、Delphi、VB、C/C++、ASM、Java等程序类型。软件拥有非常漂亮的界面和强大的智能化统计功能

2009-08-24

7yue 演讲pdf

这个是7yue先生 adobe 官方代表人物的产品介绍,关于flex做的非常精彩

2009-08-24

世界编程大赛作品 幽灵古堡

这个是世界编程大赛的作品,我看了效果老好了,场景也是非常的棒

2009-08-19

iis 5.1安装程序

在网上找的安装程序,当我们的安装盘不在身边的时候,很是方便只要上网就是可以了,点击添加删除程序组件 点击internet的那一项,然后选择文件夹就行

2009-08-17

非常漂亮的图标png格式的

这个我在网上下载的图标,很好看的啊,但是是png格式的,要用的话得转一下

2009-08-17

pvk2pfx 32位 Pvk2Pfx (Pvk2Pfx.exe) 是一种命令行工具,可将 .spc、.cer 和 .pvk 文

pvk2pfx -pvk ServerPublicKey.pvk -spc ServerPublicKey.cer -pfx ServerPrivateKey.pfx -pi password 放置到c:\Windows\System32下面 https://blog.51cto.com/u_13864558/8993257 -pvk -spc 参数 请使用绝对路径

2024-03-28

makecert.exe

makecert -r -pe -n "CN=Server" -b 01/01/2015 -e 01/01/2055 -sky exchange -sv ServerPublicKey.pvk ServerPublicKey.cer -a sha256 -len 2048 pvk2pfx -pvk ServerPublicKey.pvk -spc ServerPublicKey.cer -pfx ServerPrivateKey.pfx -pi password https://blog.51cto.com/u_13864558/8993257

2024-03-28

psycopg2_binary-2.8.6-cp27-cp27mu-manylinux1_x86_64.whl

psycopg2

2021-08-24

pymssql-2.1.4-cp27-cp27mu-manylinux1_x86_64.whl

pymssql

2021-08-24

linux 运维趋势

linux 运维趋势,解读最新的运维热点和技术,听专家将运维,目前国内的资料很少,是不可多的哦

2011-05-03

C# 合并 excel文件中信息的 连接操作

使用c# 实现excel文件的中信息的连接操作导出到新的excel文件中

2010-06-02

根据excel字段批量修改图片名

使用c# 操作excel获取字段信息按照字段信息修改图片文件的名字

2010-06-02

使用创建窗口函数创建对话框

使用winmain的形式创建对话框,没有使用类关联对话框资源,来弹出对话框

2010-04-28

C# 开发系统托盘程序 非常的简单基础

非常简单的托盘程序,能够显示托盘图标,但是功能不是很理想

2010-04-12

glest3.2.2 vs 2005 sln 文件

包含vs 2005 工程文件使用简单方便,里面有使用说明

2010-03-25

Nehe的OpenGL框架(MFC版)

貌似网上这个源码很少基本上时在sdk的环境下实现的,我这个在mfc的框架下实现,把nehe的写成了一个框架,以后实现的人直接只要写要画图形的算法就好,很方便!本例子还解决了旋转的问题。采用纹理贴图,本人学的时候在网上没有找到比较好的源码,都是只讲怎么做,并没有一个可以参考的例子,自己把自己写的放出来,希望给学这个的人帮助 这个是SDI的MDI的可以按照类似的改

2010-03-22

VS2005-IPAddressControlLib-rev-10

vs 2005的IP地址控件,使用方便,操作简单 使用的时候,只要将这个文件中的工程导入到你自己的工程中,编译即可在工具栏看到IPAddressControlLib控件

2010-03-07

Ruijie Supplicant 3.73 锐捷3.73

这个是新版的锐捷,希望使用锐捷上网的朋友能够用到,直接安装,装完之后重启系统就好

2010-01-16

glest 所需要的lib文件 win32-glest-deps.rar

这个在网上找了很久,真是郁闷,现在分享一下,让大家看看glest所需lib文件

2010-01-16

xp win7启动项修复工具BCDautofix v1.0.5

这个工具非常的方便易用而且不用安装bcdautofix v1.0.5.

2010-01-15

java 反编译工具 是基于命令行的

这个是一个java class文件的反编译程序,使用不怎么方便,虽然很低级,但是不用安装,只要稍微懂点dos常识就可以使用

2010-01-10

MFC Windows 消息机制 资料

这个是MFC文件的资料个人总结资料啊,是个word的说明资料,希望能够帮助需要的同学

2010-01-09

nehe opengl 教程 和源码

这个源程序比较全面,还有中文和英文的教程,都是chm文档

2009-11-26

关于网站负载压力的测试工具

使用方便,设置简单,里面有详细的说明使用的方法

2009-11-20

OpenGL红宝书示例程序

opengl 的一些实例程序 并附有详细的讲解

2009-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除