package fileupload
{
import flash.events.Event;
import flash.events.IEventDispatcher;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.net.FileReference;
import flash.net.Socket;
import flash.utils.ByteArray;
import flash.utils.clearInterval;
import flash.utils.setInterval;
public class FtpFileUpDownload
{
private var ftpSocket:Socket;
private var ftpResponce:String;
private var dataSocket:Socket;
private var dataResponse:String;
private var clientIP:String;
private var clientPort:uint;
private var canceled:Boolean = false;
private var dispatcher:IEventDispatcher;
private var fileName:String;
private var fileData:ByteArray;
private var _isAnonymous:Boolean = false;
private var _userName:String;
private var _serverIP:String;
private var _userPwd:String;
private var _userDir:String;
private var _serverPort:uint = 21;
private var intervalID:int;
//
public function FtpFileUpDownload(dispatcher:IEventDispatcher)
{
this.dispatcher = dispatcher;
}
/**
* isAnonymous, FTP 是否允许 匿名访问,默认为false
*/
public function get isAnonymous():Boolean{
return _isAnonymous;
}
public function set isAnonymous(value:Boolean):void{
_isAnonymous = value;
}
public function get userName():String{
return _userName;
}
public function set userName(value:String):void{
_userName = value;
}
public function get serverIP():String{
return _serverIP;
}
public function set serverIP(value:String):void{
_serverIP = value;
}
public function get userPwd():String{
return _userPwd;
}
public function set userPwd(value:String):void{
_userPwd = value;
}
/**
* userDir, FTP 用户上传目录
*/
public function get userDir():String{
return _userDir;
}
public function set userDir(value:String):void{
_userDir = value;
}
public function get serverPort():uint{
return _serverPort;
}
public function set serverPort(value:uint):void{
_serverPort = value;
}
/**
* upload file, data is null is not allowed.
*/
public function upload(data:ByteArray, fileName:String):void{
this.fileName = fileName;
this.fileData = data;
if(data==null){
dispatcher.dispatchEvent(new FileUpDownloadEvent(FileUpDownloadEvent.ERROR,"Data is null is not allowed!"));
return;
}
if(!check()) return;
connect();
}
private function check():Boolean{
var blnResult:Boolean = true;
if(!isAnonymous){
if(StringUtil.isEmpty(userName) || StringUtil.isEmpty(userPwd)){//
dispatcher.dispatchEvent(new FileUpDownloadEvent(FileUpDownloadEvent.ERROR,
"请输入用户名和口令!"));
blnResult = false;
}
}
if(StringUtil.isEmpty(serverIP)){
dispatcher.dispatchEvent(new FileUpDownloadEvent(FileUpDownloadEvent.ERROR,
"请输入FTP服务器IP地址!"));
blnResult = false;
}
return blnResult;
}
private function connect():void{
ftpSocket = new Socket(serverIP, serverPort);
ftpSocket.addEventListener(ProgressEvent.SOCKET_DATA, ftpSocketDataHandle); ftpSocket.addEventListener(SecurityErrorEvent.SECURITY_ERROR,ftpSocketSecurityErrorHandle);
ftpSocket.addEventListener(IOErrorEvent.IO_ERROR,ftpIOErrorHandle);
}
private function ftpIOErrorHandle(evt:IOErrorEvent):void {
dispatcher.dispatchEvent(new FileUpDownloadEvent(FileUpDownloadEvent.ERROR,evt.text));
}
private function ftpSocketSecurityErrorHandle(evt:SecurityErrorEvent):void {
dispatcher.dispatchEvent(new FileUpDownloadEvent(FileUpDownloadEvent.ERROR,evt.text));
<
分享到:
Global site tag (gtag.js) - Google Analytics
|
相关推荐
Flex实现Ftp上传功能模块的源码(web应用),实现向FTP上传文件,无需后台语言支持
NULL 博文链接:https://xieronghua246.iteye.com/blog/907395
Flex和Servlet结合使用,文件上传、下载
flex选择文件,包括上传 ,显示,ftp
// 定义文件的上传路径 private String uploadPath = "G://upload/"; // 限制文件的上传大小 private int maxPostSize = 100 * 1024 * 1024; public FileUploadServlet() { super(); } public void ...
数据管理.ppt第21章 XML的处理.ppt第22章 Flex应用程序开发.ppt第23章 Flex应用程序部署.ppt第24章 文件的上传下载.ppt第25章 Mp3播放器.ppt第26章 用户登录.ppt第27章 电子相册.ppt第28章 浏览FTP.ppt第29章 FLV...
第24章 文件的上传下载.ppt 第25章 Mp3播放器.ppt 第26章 用户登录.ppt 第27章 电子相册.ppt 第28章 浏览FTP.ppt 第29章 FLV播放器.ppt 第30章 留言板.ppt 第31章 在线书店系统.ppt ├─Flex与JAVA │ ...
第01章 Flex简介.ppt ...第24章 文件的上传下载.ppt 第25章 Mp3播放器.ppt 第26章 用户登录.ppt 第27章 电子相册.ppt 第28章 浏览FTP.ppt 第29章 FLV播放器.ppt 第30章 留言板.ppt 第31章 在线书店系统.ppt
2008-07-10 10:54 169472 65848 第24章 文件的上传下载.ppt 2008-07-10 10:57 137728 86032 第25章 Mp3播放器.ppt 2008-07-10 11:00 116736 66591 第26章 用户登录.ppt 2008-07-10 11:02 285184 245454 第27章 电子...
SpeedCommander 是一个非常容易使用的文件管理工具!内置两个操作窗口,可以非常容易的对文件进行排序,删除,复制,移动等操作!...内置FTP客户端,支持同时上传和下载数据!整合网络浏览工具!可以直接上网冲浪! 内含注册码!
SpeedCommander 是一个非常容易使用的文件管理工具!内置两个操作窗口,可以非常容易的对文件进行排序,删除,...内置FTP客户端,支持同时上传和下载数据!整合网络浏览工具!可以直接上网冲浪! 含注册码! 价值39欧元!!
1、使用ftp软件上传Upload文件内的所有内容到网站空间 2、将空间的.net版本切换到.net3.5 3、设置空间目录读写权限为:读取与执行、写入,并给予NETWORK SERVICE用户权限 4、修改默认首页设置为:index.htm ...
帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...