设为首页 收藏本站
查看: 1675|回复: 0

FTP文件上传控件开发文档-Xproer.FtpUploader

[复制链接]

尚未签到

发表于 2015-5-29 09:46:30 | 显示全部楼层 |阅读模式
  版权所有 2009-2014 荆门泽优软件有限公司
  保留所有权利
  官方网站:http://www.ncmem.com
  产品首页:http://www.ncmem.com/webplug/ftp-uploader2/index.asp
  在线演示:http://www.ncmem.com/products/ftp-uploader2/demo/index.html
  产品介绍:http://www.iyunv.com/xproer/archive/2011/04/04/2005241.html
  开发文档:http://www.iyunv.com/xproer/archive/2011/03/15/1984413.html
  升级日志:http://www.iyunv.com/xproer/archive/2011/04/04/2005251.html
  资源下载:示例下载,开发文档,加密解密工具,cab安装包(x86),cab安装包(x64),VC库,根证书,ServU-7.x,ServU-9.x,FileZilla Server,
  联系邮箱:1085617561@qq.com
  联系QQ:1085617561
  1. 概述
    Xproer.FtpUploader文件上传控件可以帮助用户向服务器上传超过100G大小的文件。同时提供了断点续传的功能。如果用户在上传文件的过程中出现网络错误在下次上传时仍然可以继续上次上传的位置上传,而不需要重新上传,这个功能可以帮助用户节省许多时间,从而提高用户体能。有了这个功能新颖网络FTP文件上传控件就能够在更加复杂的网络环境中使用。
  在实际的应用环境中,不同的用户可能会上传相同的文件,这些文件有的甚至达到2G左右,如果许多这样的文件重复存在那么将会占用许多的服务器空间。现在新颖网络FTP文件上传控件提供了MD5文件验证功能,通过这个功能系统可以在用户上传文件前在服务器验证相同的文件是否存在,如果存在那么就不必上传相同的文件,这样就可以帮助企业节省更多的服务器空间,从而为企业节省成本。
  2. 正式包布署说明
    1.将FtpUploader.cab,FtpUploader64.cab上传到服务器中。
  2.修改FtpUploader.js中的Clsid,ActiveX名称,CabPath地址和版本号。
DSC0000.jpg
  3. 快速开始
    在本地快速搭建测试环境步骤:
  1.架设FTP服务器。
  2.修改演示文件中的配置。
  3.运行示例。index.html
  3.1. 架设FTP服务器
    新颖网络FTP文件上传插件支持Microsoft FTP,Serv-U和FileZilla。
  以下分别为FTP服务器的架设教程:
  安装ServU—7.1:http://www.iyunv.com/xproer/archive/2010/11/20/1882370.html
  安装ServU-6.4.0.6:http://www.iyunv.com/xproer/archive/2011/03/28/1998042.html
  安装FileZilla Server:http://www.iyunv.com/xproer/archive/2010/12/23/1914588.html
  安装Microsoft FTP Server:http://www.iyunv.com/xproer/archive/2011/03/06/1972192.html
  3.2. 添加测试帐号
    由于测试版FtpUploader只能连接127.0.0.1服务器,且只能以test帐号登陆,所以在演示时需要添加test帐号。
  帐号:test
  密码:test
  3.3. 配置FTP信息
    修改演示文件FtpUploader.html中的配置信息。
  var ftpMgr = new FtpUploaderMg();
  ftpMgr.Config["Server"] = "127.0.0.1";//测试版插件只能连接这个IP
  ftpMgr.Config["UserName"] = "test";//设置FTP用户名。注意此处仅为了方便测试,正式应用时会将用户名和密码封装在控件内部。
  ftpMgr.Config["UserPass"] = "test";//设置FTP密码。注意此处仅为了方便测试,正式应用时会将用户名和密码封装在控件内部。
  3.4. 运行示例
    在IE中打开文件FtpUploader.html
  4. 用户接口
  4.1. 设置FTP登陆信息
    
  var ftpMgr = new FtpUploaderMgr();
  ftpMgr.Config["Server"] = "127.0.0.1";//测试版插件只能连接这个IP
  ftpMgr.Config["UserName"] = "test";//设置FTP用户名。注意此处仅为了方便测试,正式使用时会将用户名和密码封装在控件内部。
  ftpMgr.Config["UserPass"] = "test";//设置FTP密码。注意:此处仅为了方便测试,正式使用时会将用户名和密码封装在控件内部。
  
  4.2. 打开帐号加密功能
    
  var ftpMgr = new FtpUploaderMgr();
  ftpMgr.Config["Encryption"] = true;//打开帐号加密功能,帐号和密码都会被自动解密
  
  4.3. 设置允许上传的文件类型
    允许指定的文件类型:jpg,png,gif,bmp,doc,xls,ppt,rar,txt
  允许所有的文件类型:*
  
  var ftpMgr = new FtpUploaderMgr();
  ftpMgr.Config["FileFilter"] = "doc,xls,ppt,txt,png,jpg,bmp,gif,rar";//不同的文件类型以逗号分隔。如果允许所有的文件类型,则输入*
  
  4.4. 上传指定路径的文件
    主要步骤如下:
  1.通过AddFile()函数添加指定文件。
  2.通过PostFirst()函数上传文件。
  
  var ftpMgr = new FtpUploaderMgr();
  ftpMgr.AddFile("D:\\Soft\\QQ2011.exe");
  ftpMgr.PostFirst();
  
  4.5. 自动创建多级目录
    说明:
  1.目录必须以反斜杠(/)分隔,不能是其它分隔符,比如正斜杠(\)
  
  var ftpMgr = new FtpUploaderMgr();
  ftpMgr.Config["Server"] = "127.0.0.1";
  ftpMgr.Config["RemoteFolder"] = "test1/test2/test3";//自动创建多级目录
  window.onload = function()
  {
  ftpMgr.Init();
  };
  
  5. 功能
  5.1. 文件MD5验证
    主要步骤如下:
  1. 将文件验证方式设为md5
  2. 处理FtpUploader_MD5_Complete事件
  1.设置文件验证方式
  打开FtpUploader.js
  修改FtpUploaderMgr的Config属性
  将CrypType值改为md5
  2.处理FtpUploader_MD5_Complete事件
  打开文件FtpUploader.js,找到下面的代码。在修改此函数的逻辑,添加服务器验证的代码。
  function FtpUploader_MD5_Complete(obj)
  {
  var cry = obj.Config["CrypType"].toLowerCase();
  if (cry == "md5")
  {
  this.MD5 = obj.ATL.MD5;
  alert(this.MD5);
  }
  else if (cry == "crc")
  {
  this.CRC = obj.ATL.CRC;
  alert(this.CRC);
  }
  //在下面增加向服务器验证MD5的代码。
  //obj.Upload();
  }
  6. JavaScript对象
  6.1. FtpUploader对象
    类型:JavaScript
  文件上传对象的包装类,用户在实际的项目中只需要创建FtpUploader对象,然后通过FtpUploader对象就可以进行文件上传操作。
  语法:
  JavaScript(声明)
  function FtpUploader() { }
  属性
  
           名称
      
           说明
      
          DSC0001.gif
      
           pMsg
      
           消息对象。是一个DIV
      
          DSC0002.gif
      
           pProcess
      
           上传进度条对象。是一个DIV
      
          DSC0003.gif
      
           pPercent
      
           上传进度百分比对象。是一个DIV
      
          DSC0004.gif
      
           pButton
      
           控制按钮对象。是一个A
      
          DSC0005.gif
      
           LocalFile
      
           包含完整路径的本地文件名称。例:C:\qq.exe
      
  方法
  
           名称
      
           说明
      
          DSC0006.gif
      
           Ready
      
           指示文件上传对象准备完毕
      
          DSC0007.gif
      
           Post
      
           开始上传文件
      
          DSC0008.gif
      
           Stop
      
           停止文件上传
      
          DSC0009.gif
      
           PostNext
      
           继续传输上传队列中的下一个文件
      
  Ready方法
    将上传任务状态设置为准备状态。
  Post方法
    开始上传文件。
  说明:此函数将会自动实现断点续传功能。如果当前任务文件只上传了一半,则在下次开始时XSUploader组件将会自动定位到上次上传的位置继续上传数据。
  Stop方法
    停止上传任务。
  PostNext方法
    继续上传队列中下一个任务。
  事件
  FtpUploader_StateChanged事件
    语法
  function FtpUploader_StateChanged(obj,state)
  参数:
  obj
  FtpUploader对象
  state
  控件状态。   
             STA_Leisure
         
             = 0
         
             //空闲
         
             ,STA_Uploading
         
             = 1
         
             //上传中(暂时保留)
         
             ,STA_Complete
         
             = 2
         
             //传输完毕
         
             ,STA_Error
         
             = 3
         
             //错误
         
             ,STA_Connected
         
             = 4
         
             //服务器已连接
         
             ,STA_MD5_Working
         
             = 5
         
             //正在计算MD5
         
             ,STA_MD5_Complete
         
             = 6
         
             //MD5计算完毕
         

  6.2. FtpUploaderMgr对象
    类型:JavaScript
  文件上传管理类。所有上传的文件都是通过此类来进行管理的。
  构造函数
    FtpUploaderMgr()
  方法
  AddFile方法
    添加一个文件到上传对列中
  语法:
  void AddFile(fid);
  参数:
  fid
  新上传任务的文件ID,此ID用来区域不同的上传任务。必须保证唯一。
  PostFirst方法
    开始上传队列中的第一个文件。
  语法:
  void PostFirst()
  Exist方法
    检查上传队列中是否存在指定文件。
  语法:
  bool Exist();
  返回值:
  true
  表示存在。
  false
  不存在。
  说明:此函数是根据本地文件的完整路径来检测的。
  SetFileFilter方法
    设置文件过滤器。
  语法
  void SetFileFilter(filter)
  参数:
  filter 文件类型字符串。由逗号分隔。示例:exe,gif,png
  SetExtFilter方法
    设置允许的文件类型。如果不设置文件类型,则表示不允许上传任何类型。
  语法
  bool IsExtFilter(fname);
  参数:
  filter 文件类型字符串,使用逗号分隔。示例:gif,jpg,bmp,png
  属性
  Config属性
    提供插件的全局配置信息。在项目如果需要修改插件的配置信息,只需要通Config属性来控件即可。
  语法:
  this.Config = {
  "Server" : "127.0.0.1"
  , "UserName" : "test"
  , "UserPass" : "test"
  , "RemoteFolder": ""
  , "Port" : 21
  , "FileFilter": "*"//允许上传的文件类型。示例:jpg,bmp,gif,png,doc,xls,ppt,txt
  };
  示例-设置插件信息
  var uploaderMgr = new FtpUploaderManager("FilePostLister");
  uploaderMgr.Config["Server"] = "tel.ftp.u.115.com:21";
  uploaderMgr.Config["UserName"] = "1199925";
  uploaderMgr.Config["UserPass"] = "4b29da413f";
  uploaderMgr.Config["RemoteFolder"] = "upload";
  7. ActiveX对象
  7.1. Xproer.FtpPartition对象
    CLSID9463F939-F485-404f-9FB0-8729E82DE11F
  类型:ActiveX
  多文件选择对象。弹出一个文件选择对话框,为用户提供选择多个文件的功能。
  方法
  
           名称
      
           说明
      
          DSC00010.gif
      
           ShowDialog
      
           弹出文件选择对话框
      
          DSC00011.gif
      
           GetSelectedFiles
      
           获取用户选择的文件列表
      
  GetSelectedFiles方法
    获取用户选择的文件列表数组。
  示例
    下面的代码示例将会创建一个文件选择框,并弹出用户所选择的文件名称。
  JavaScript:
  
  function ShowSelectFileDlg()
  {
  var uploaderMgr = new FtpUploaderMgr();
  var obj = new ActiveXObject("Xproer.FtpPartition");//创建文件选择对话框
  if (!obj.ShowDialog()) return;
  var list = obj.GetSelectedFiles();//获取用户选择的文件
  if (list.lbound(1) == null) return;
  for (var index = list.lbound(1); index
  
  
  
  var obj = document.getElementById("FilePanel1");
  obj.OnFileDrop = EventFileDrop;
  function EventFileDrop()
  {
  var lister = document.getElementById("divFileLister");
  var list = obj.GetSelectedFiles();//获取选择的文件
  for (var index = list.lbound(1); index

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-71796-1-1.html 上篇帖子: windows2003 ftp及相关权限 下篇帖子: Centos开启telnet/ssh/ftp/sftp服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表