有没有上传文件超过2 GB,使用简单的html表单上传?以前,我已经通过使用分块的Silverlight上传大文件(将大文件分割成段,然后逐个上传段,然后在服务器上重新组合段)。
现在我们有一个要求,我们只需要使用简单的html(尽管GWT)表单上传。请指导我,如果有办法通过这种方式实现大文件上传。
解决方法
HTTP POST请求的大小的限制通常不在HTML端。服务器端的限制更多。需要将Web服务器配置为接受该大型POST请求。默认值通常确实是2GB,服务器通常会返回一个HTTP 500错误。默认限制通常可以增加到4GB,但是超出这个限制的任何东西都将在32位系统上达到边界。在具有64位操作系统的64位系统上,理论边界要高出16EB。
如果将Web服务器配置为接受该大型POST请求是不可选的,或者当您想要超出Web服务器的限制时,则无需在客户端分割文件并重新组装服务器端的部件。
由于HTML只是一种标记语言,因此它不提供拆分文件的功能。您真的必须使用正常的编程语言,如C#(Silverlight)或Java(Applet),您的网页提供的小应用程序的风格。很可能也可能用Flash或Flex,但不要把我钉在那上,因为我也没有。
说,FTP是比HTTP更好的选择,通过网络传输(大)文件。我会重新考虑使用HTTP的选择。