加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Flex实现FTP文件上传功能

发布时间:2020-12-15 01:34:26 所属栏目:百科 来源:网络整理
导读:最近需要使用Flex实现Ftp文件上传功能,Google到chuangxin兄弟的blog正好有相应的文章及代码,甚喜,忙收藏并拜读之。 搞明白原理后,实测时却发现几个问题: 1、发送FTP命令时无响应。可以正常连接服务器,但发送登录用户名后便失去响应,一直到连接超时。

最近需要使用Flex实现Ftp文件上传功能,Google到chuangxin兄弟的blog正好有相应的文章及代码,甚喜,忙收藏并拜读之。

搞明白原理后,实测时却发现几个问题:
1、发送FTP命令时无响应。可以正常连接服务器,但发送登录用户名后便失去响应,一直到连接超时。
解决方法:这问题解决时间最长,Google了一下午才找到解决方法。发送FTP命令时,结束符号应该是/r/n,而不是之前的/r。
2、上传文件尾部数据丢失,文件上传不全。13.5k的测试文件只能上传12k,文件尾部数据丢失。本问题有规律可循,结合代码排查起来比较容易。
解决方法:修改sendData函数内条件判断语句,到达文件尾部时先写数据再退出,而不是直接退出。

3、文件名为中文,则上传后文件名变乱码。

解决方法:发送FTP命令时使用UTF-8编码。

?

为了看着方便,后面直接贴出修改后的代码。以下内容转自chuangxin的blog,文章地址http://blog.csdn.net/chuangxin/archive/2010/10/10/5931986.aspx.代码部分有略微修正。

?

?


?

?

?????? Flex FTP文件上传原理就是利用Flex Socket组件与FTP服务器进行网络通讯并根据FTP协议进行指令发生、接收,数据的传输和接收。本文指的是Flex web应用的FTP文件上传,具体实现有下述3个工作:
??? 1)上传文件选择、加载,可以使用Flex的FileRefrence组件;
??? 2)socket创建、连接、ftp用户登录信息的验证;
??? 3)文件数据发送;
?????? 先假设要上传的文件名称为:demo.doc,该上传的文件内容为fileData,下述为FTP文件上传的核心类。

?

?

?

FTP文件上传事件代码:

?

?

则Application中要进行FTP文件上传,可简单codeing为(假设FTPFileUpDownload实例为ftpFile):ftpFile.upload(fileData,“demo.doc”)当然为了侦听ftp上传是否出错、完成,需要侦听FileUpDownloadEvent的Error和Complete事件。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读