另类的文件上传解决方案

格格不入70

格格不入70

2016-02-19 12:07

有了下面这个另类的文件上传解决方案教程,不懂另类的文件上传解决方案的也能装懂了,赶紧get起来装逼一下吧!

编写思路:把本地文件在客户端通过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)
客户端代码


(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

服务器端


(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

另类的文件上传解决方案

Web开发
另类的文件上传解决方案

Delphi图像存取另类解决方案

Delphi
Delphi图像存取另类解决方案

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Asp无组件上传进度条解决方案

ASP
Asp无组件上传进度条解决方案

CHM文件打不开、乱码完美解决方案

电脑入门
CHM文件打不开、乱码完美解决方案

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

惠普IDERAID解决方案

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
惠普IDERAID解决方案

ajax后退解决方案

Web开发
ajax后退解决方案

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

模糊查询

模糊查询

Windows 8中连接无线网络的设置方式

Windows 8中连接无线网络的设置方式
下拉加载更多内容 ↓