高端网站建设-另类的文件上传解决方案
author:一佰互联 2019-04-15   click:183
 编写思路:把本地文件在客户端通过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)

----------------------------------------------------------------

 

高端网站建设价格套餐:

500元成品模板网站套餐1000元基础型网站套餐1800元标准定制设计套餐2800元精美定制设计套餐3800-8000元商务型套餐行业门户型套餐其它定制套餐 文章由重庆一佰互联高端网站建设http://www.yinxi.net编辑整理,转载请注明出处