网络编程
位置:首页>> 网络编程>> Asp编程>> [ASP]利用 xmlhttp 分块上传文件

[ASP]利用 xmlhttp 分块上传文件

作者:tzboy 来源:蓝色理想 发布时间:2008-07-04 14:14:00 

标签:xmlhttp,上传,asp

编写思路:把本地文件在客户端通过base64编码以后发送目的地.

测试过程中,上传文件过大,导致超时不成功.

后来经过改善.把编码分段发送.测试20M成功

编写目的:在传统的解决方案里面,一次一次选取上传可以.但是在碰到把数据库里文件路径读出来,并把这些文件上传到一个地方的时候就比较麻烦.

如果得到路径一个一个去找到用ftp当然也是可以的,但每次找这些文件我看都会比较费时。这里编写这个主要就是为了通过数据库里的文件路径取得文件.把文件一次批量上传到一个地方.

其主要目的还是为了锻炼一下自己.

解决过程:起初试着用模拟键盘输入强行赋值给file控件用传统的方法上传。可是老碰到空值的情况,以至有很多文件没有发送出去。查阅一些资料,现在是把所有路径通过数据库取到然后写到一个js里。然后在前台用js读取这些路径,通过xmlhttp来发送文件。

因为ie不太喜欢xmlHttp.总认为他有恶意行为.所以老谈出提示警告.所以操作的时候不能使用web路径.只能用物理路径去访问它.

然后服务端有一文件来接收这些编码,并对其进行解码.所以我称之为"c/s". ^_^

目前很多代码还在完善中.

简单介绍一下:

aryFiles.push("c:\\aaa.zip") ;
aryFiles.push("c:\\bbb.exe") ;

这里为文件路径和文件.可为多个;以后这个路径也可以通过file控件在客户端取到

http:// www.xxx.com/xxx/xxx.asp

这个是目的地,可以改为自己想要的地址.

ado_stream.LoadFromFile(server.mappath(".") &"/"& + str_filename) 
server.mappath(".") &"/"& + str_filename 这里是读取文件.
server.mappath(".") &"/"& 路径和存放路径一致

ado_stream.SaveToFile server.mappath(".") &"/"& str_filename,2 
server.mappath(".") &"/"& 这个为存放文件的路径. str_filename 为文件名 

这里读取和存放都是放在程序所放目录中.大家测试的时候也可以保持这样即可

把第一段代码放到本地(eg:c:\upload.htm)

把第二段代码放到服务器上,可以是本地服务器,可以是公网服务器.和上面的目的地保持一致
(eg:http://www.xxx.com/upload.asp or http:// localhost/www/upload.asp)

操作:找到第一段代码保存的地方。执行即可(eg:打开c盘执行upload.htm)

目前程序还在调试过程中,希望大家提出宝贵意见

客户端代码


服务端代码


另外:此文的目的并不是说这个程序能给朋友们解决什么问题,主要目的还是为了和大家交流一些心得:

碰到问题->发现问题->解决问题.

希望大家都不要成为一个标准的代码机器人。

多学、多看、多思考、多实践。

没有什么是不能解决的。

0
投稿

猜你喜欢

  • Sun公司和Zmanda在3月18号声称他们正在一起合作,为MySQL Enterprise用户交付一种全面、全局数据备份与恢复解决方案。现
  • 在 MySQL下,在进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,却
  • 动机: 排序功能让我们页面上的数据显的更人性化,是我们在网站上见过的很普遍的一个功能效果了。以往的自动排序都是用大量的脚本代码来完成的,对一
  • SELECT语句具有种类繁多的各类选项,这些选项可以用来控制数据返回的方式。这些选项以子句、关键词和函数的形式存在。 子句是一种修改结果的语
  • JavaScript/Dom中有很多很零碎的东西,让人总是感觉理解的有些“朦胧”,因此,有时候还是应该总结一下,对于Event对象,前两天看
  • 导语:近年来,全世界都纷纷投身网络热潮。从小企业到大公司,再到网络学校和大学,大家都在努力提升自己的网络影响力,这样既免费为自身品牌做广告,
  • 下列语句部分是Mssql语句,不可以在access中使用。SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLAR
  • 依次前移,实现聊友们的发言的更迭:function form1_onsubmit()if document.form1.
  • 可能许多同学对SQL Server的备份和还原有一些了解,也可能经常使用备份和还原功能,我相信除DBA之外我们大部分开发员队伍对备份和还原只
  • 调度和锁定在很多客户一起查询数据表时,如果使客户能最快地查询到数据就是调度和锁定做的工作了。在MySQL中,我们把select操作叫做读,把
  • 本文介绍如何建立基于Web的日历,同时为不熟悉Active Server Pages(ASP)、SQL和ADO的开发者提供建立Web站点的过
  • 自己从工艺品设计到平面设计到网络设计,虽然设计原则不离其宗,但经验下来的心得告诉自己,设计媒介的变化带来很多媒介自身的特殊性,下面总结下网站
  • 记得很早以前看到过这样的一段介绍:想象你在逛街边的一家书店,如果最终你没有购买任何图书就直接离开了,店长并不会知道你来过。但是如果你买了书,
  • 在单个HTML元素上利用CSS2.1实现拥有3张背景图片和2张内容图效果,或者多重边框的效果。这种渐进增强的方式适用于所有支持CSS2.1伪
  • 在数据库testDB中存在架构A及用户A,现将testDB数据库所属的用户由A改为B,同时删除用户A;架构也由A改为B,删除架构A,操作如下
  • 最近的一个页面中碰到的,本来想用 border 来模拟设计图的虚线效果,但是很明显 border 效果不如设计图来的好看。顺便研究了下 da
  • Firefox 的 Jetpack 可以让我们很轻松地创建 Firefox 插件,仅通过已掌握的前端技能(HTML/CSS/JS),估计让人
  • 要真说出来哪一个函数能够做得到,还真难。但我们可用下面的代码来进行识别,返回“假”即偶数,返回“真”则奇数: function&n
  • 首次安装、运行MySQL时,你可能会遇到一些错误,使MySQL服务器不能启动。本节的目的是帮助你诊断并纠正这些错误。解决服务器问题时你的第一
  • 如何做一个随机密码产生器?<%genPassword = ""RandomizeFor&nbs
手机版 网络编程 asp之家 www.aspxhome.com