我觉得你应该先去看看FTP服务器(这个现在比较多)是怎么实现的。
然后再想自己怎么作。
Struts 的 FormFile是一个思路,不过感觉大文件效率应该不会很高。

解决方案 »

  1.   

    FormFile 可以传多大的文件,我的文件在10M左右就可以了
      

  2.   

    Formfile是将东西上传到服务器上-
    对于文件大小应该没有限制,
    -可以根据自己的需要进行设置。
    至于速度嘛,
    个人觉得应该和你的服务器以及网速有关吧。
    我们曾经做过一个类似东东-
    在本地运行时速度还不错-
    一个100多M的J2EE的JDK也不过区区几十秒。
      

  3.   

    这个应该简单,不难。
    1.象楼上说的,用structs的FormFile就可以了,不过这样你就和structs绑死了。如果用别的技术实现,你可以直接用fileupload这个包,apache的,实际上structs的FormFile也是对它做了一个包装而已。这个包对文件大小不做要求,只要你自己硬盘空间够就可以。至于传输速度,没办法保证,得看你的网速了。一般来讲太大的文件哪个web程序恐怕也接不下来,毕竟上传一个100M要好长时间,你用ftp下还要好久呢,何况用浏览器上传,连进度提示都没有,哪个用户有这个耐心啊。一般传个10几M就可以了。至于楼上说的本地来测,那个根本没用,不代表什么,自己机器要是都慢的话那还搞个P啊。2.至于空间控制,就是java的I/O操作了,读取文件的大小,很简单的。
    3.文件复制,也是java的I/O操作,网上有现成的文件复制函数,或者自己写一个也行。
      

  4.   

    我觉得用web方式的似乎不大可能,要么你就用ftp的方式。如果网速真的有那么快的话,你用web也可以,但是毕竟现在的网速还远远没那么快。用ftp的话,1G你还要传1个小时呢。
    当然fileupload对文件大小不限制,但是web的话你肯定要支持断点续传吧?你还要找这方面的东西,java现成的源代码网上也可以找到的。
      

  5.   

    oyjdev的意见似乎有些创意,
    能否具体一些,
    感激不尽~~
      

  6.   

    实际上说的就是和网际快车差不多的原理,多线程同时上传,但是我是讲了嘛,速度没谁敢保证的。我目前还见到网上有用web方式传1个G文件的这种程序,有可能服务商给你提供1个G的硬盘空间吧,但这跟一次传一个有1G大小的文件可是两码事。
      

  7.   

    用java來實現這些功能,效率和實現容易方面沒有c++好。
      

  8.   

    我做过一个文件管理方面的模块,花了很多时间都没有实现大文件上传,最后只能用ftp方式了。想在web中解决大文件上传,几乎是不可能的。几百M的东西,一传就会让browser死掉。只有ftp实现了。
      

  9.   

    不想结贴还有没有人试过用javabean或者applet的方式,采用ftp的协议上传的?
    这种方式效率怎么样?
      

  10.   

    可以利用commons-net包进行ftp方式的上传,自己写个断点续传的功能就行了,这和普通的ftp方式是完全一样的。但是还是推荐你不能放在web上,因为道理是一样的。用B/S进行1G内容的文件上传,完全就是搞笑型的做法。
      

  11.   

    mxlmwl(飞星) 
    哈哈,几天不见就升了星了阿有人提过用Applet来弄得~~~不过没有见过例子成功的谁知道,现在有网络硬盘是怎样实现的?
      

  12.   

    applet能做ftp上传下载的,国外有一个项目做过,具体网址我忘了,我做文件管理时还看了一下那个项目。