2012-06-08日记

来源:互联网 发布:扒淘宝高端自制护肤品 编辑:程序博客网 时间:2024/05/18 00:40

2012年6月8日 星期五

 

       最近项目上遇到了一个比较纠结的问题,就是使用Flex和FTP协议来实现大文件(1G以上)的上传。上传这么大的文件选择FTP的话应该没有什么问题,因为它还支持断点续传。主要的问题还是出在FlexWeb项目对本地文件的读操作。Flex中操作本地文件主要是FileReference类,获取某一文件的字节流(ByteArray)是使用其中的一个load方法,问题就出在这里,Flex是将整个文件Load到内存中,而不是Load一部分到内存的缓冲区,这部分上传完了之后再Load文件的余下部分。Flex的桌面应用程序Air是可以实现上述将文件部分Load到内存中的,而Web的就不行了。在网上找了很多资料之后,估计只有如下两个解决方案了:

(1)      直接将存储服务器的IP地址告诉用户,然后给用户一个登录FTP服务器的用户名和密码,然用户自己下载一个FlashFXP来上传文件。当然,在此之前,需要在FTP服务器中对用户的权限要分配好。

(2)      在Flex的Web工程中调用AIR(桌面应用程序)中的接口。这个估计在用户使用的时候要让他先下载一个插件了。网上好像有相应的资料,实现可能性比较大。

(3)      然后用户在上传文件的时候先分割文件,上传完成之后再合并在一起。这个实现非常不友好,估计不会采用。

 

 

第二个比较纠结的问题就是在FlexWeb前端实现一个远程桌面连接(VNC)的功能。用户申请来虚拟机之后,出来需要对其进行监控和简单的开机、关机操作之外,最主要的就是需要有一个接口使其能够直接控制虚拟机。解决方案如下:

(1)      在服务器端运行一个AjaxSever程序,用户点击vnc连接的时候就会弹出一个新的URL来访问虚拟机桌面;不过这个测试了一下,速度比较慢,而且用户还能在终端看到正在运行的程序,效果不佳。

(2)      看网上有没有开源的相关软件,目前主要朝着这个方向努力,希望能够找到好一点的解决方案。

 

太纠结了,这两个问题已经差不多搞了一个月了,充满了戳挫败感,真怀疑自己的能力是不是有问题。不过能发现自身的问题比较严重,并尝试着去改正,也未尝不是件坏事。希望能够早点搞定中国云这个项目,这个做起来没人用,让我感觉自己的事情没啥意义。但是国家的项目貌似都这样,哎,木有办法。还有想早点去熟悉下sporo,那个数据挖掘系统对上海那个新药开发的项目貌似还是蛮有意义的,我很看好这个。

 

原创粉丝点击