Flex + Servlet 实现断点上传
发布时间:2020-12-15 04:23:56 所属栏目:百科 来源:网络整理
导读:如果只是上传大文件,使用cos是很好实现的。cos的上传原理是边读边写,开发人员可以自己分配缓存的大
如果只是上传大文件,使用cos是很好实现的。cos的上传原理是边读边写,开发人员可以自己分配缓存的大小。所以不会造成文件太大导致系统崩溃的后果。 但是后来要求实现断点续传的功能,我尝试了使用HTTP协议,不行,我印象中,HTTP协议来说,应该不好实现断点上传。后来查找资料,发现许多人使用ftp协议。如果要使用ftp,又需要在客户端安装applet,据说applet太麻烦也不太好用,applet一般很少有人去开发这个了还需要jvm环境。 最后找到一个使用FlashPlayer10实现断点上传的例子,发现是可行的。 因为现在很多浏览器都是支持flash的,所以都会安装了flash的activeX组件。起作用的 就应该是activeX组件了。 注:以下所包含的代码绝非原创,如有雷同绝对正常。 FlashPalyer10 以前的版本也可以上传文件,但大小却被限制在了100M以内。而10和以后的版本能够上传大文件。最大能到多少我没有试过,我试过的最大值为1G。 如果不熟悉FlashPlayer编程的请google Flex ActionScript3。 断点上传主要使用的是AS3的Socket类完成和服务器的通讯。服务器会监听两个Socket端口,一个端口是843,用来完成FlashPlayer的安全策略认证;另一个端口是用户自定义,用来完成文件上传。 安全策略认证如下: 1、客户端往服务器843端口发送以下内容。
2、服务器必须向客户端返回以下内容,说明验证成功。 ? <?xml?version="1.0"?>? |