您的位置:首页 > 编程语言 > PHP开发

ACTIVEX实现大文件FTP上传下载---下

2010-03-09 15:41 381 查看
      在前一篇文章中ACTIVEX实现大文件FTP上传下载http://blog.csdn.net/mzyp/archive/2010/01/20/5217686.aspx

该方案有一个很大问题:
当源文件大于2G时,无法读取,更谈不上上传下载。

        上网查资料,很多网友或推荐修改delphi7自带indy9.0.10读流写流原参数integer改int64,或推荐升级indy9.0.18,然后再做上述修改等等。

      但经过无数次测试验证,这些方案均无疾而终,眼看工期越来看迫近,近乎对delphi写这个activex失去了信心。

      甚至于从网上下载了几个VC源码进行超大文件上传下载,以便不时之需。

      也许真的是皇天不负有心人吧,经过一千零一次搜索解决方案(一千零一次搜索?别当真,就当我在吹牛吧^_^)

      终于有位网友在一篇贴子回复中解答了这个令人抓狂的难题:升级到indy快照版。

      indy快照版内含indy9和indy10,其中indy10也有FOR DELPHI7版本,哇噻,这正是我梦寐以求的!

      以前之所以未升级到indy10版本,是因为该版本大多是基于dot net环境,我最终需要只是让我做的这个可实现大文件FTP上传下载Activex嵌入网页中,假若采用时下流行indy10版本,势必让最终用户安装dot net环境,估计最终用户会疯掉!!!

      所以要求这个Activex是原生态,健康品,必须的!

      现在有了这个indy快照版为我保驾护航,这个大于2G以上文件不能上传下载的问题迎刃而解。经测试上传8G也没有问题,估计更大也可以。不过我没测试过,因为我们的需求只要求5G就可以,有兴趣的可自行测试。

      还有一个小插曲,也值得一提。
  

      项目选项(菜单project->options->Packages页),在Runtimes packages中不勾选Build with runtime packages。为便于后期网页部署,我不能选中它。在编译这个Activex项目时,总提示indy某个类编译版本不同,于是把indy包按顺序重新编译了一遍,没发现问题,但再编译这个Activex项目时,总提示indy某个类编译版本不同。

      最后,Activex项目属性search path中加入indy包编译结果路径,再次编译终于通过。

      为让最终用户在IE中应用方便,有必要对此Activex进行数字签名。

    已知Ativex(
此处指ocx)
打包发布有两种方式,
分别是DOS
命令行方式

和图形化向导方式,其中前者可做成批处理。

    前者参见http://blog.csdn.net/cai5/archive/2008/07/29/2731187.aspx

    后者参见http://showvi.com/Blog/ViewAirticle/194

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息