在WIN7下配置了IIS7.0+PHP环境,进行特大文件上传测试,一般文件为8G左右,在PHP.INI中已经设置了上传的各种参数,可以排除PHP.INI的问题,我是用SWFUPLOAD+FTP上传的,服务器给出的错误提示为:求筛选模块被配置为拒绝超过请求内容长度的请求。
根据相关资料,我设置最大请求实体主体限制为10G,但是服务器提示只能是0-4G之间,服务器最大只能上传4G的吗?我想上传8G左右的应该怎么办?

解决方案 »

  1.   

    既然是 用SWFUPLOAD+FTP上传的 那么就与 php 没什么关系了
    你总不至于用 php 去写 ftp 服务器吧
      

  2.   

    我的意思是用PHP的FTP_PUT()函数进行上传,这个跟PHP还有IIS都有关吧。
      

  3.   

    web的方式不能满足这么大的文件上传,因为上传这么大的文件的同时,服务端IIS同样需要占用这么大的内存。
    巨大的文件推荐使用FTP方式,因为FTP方式是专为数据传输而发明的协议。服务器不会占用内存。比较适合大量数据交互的场景。楼主试试这个控件:http://www.cnblogs.com/xproer/archive/2010/04/17/1714073.html
    此控件是基于标准FTP协议实现的文件上传功能。支持10G大小文件的断点续传,用户体验非常好,特别适合有超大文件上传需求的项目。
    另外一个特点是支持自动上传指定的本地文件
      

  4.   

    你直接向WEB服务器上传2G大文件的话,服务器肯定挂。就算不挂你也没办法上传成功。除非你的网速超好,服务器的网速也超好,而且服务器就你一个人上传文件,或者你在内网。像QQ邮箱里面的大附件上传功能,115网盘里面的断点续传功能,还有华为网盘里面的断点续传功能都不是将整个2G文件一次性上传到服务器的。这是不可能的事情。一般都是将大文件分割成许多个小块,然后循环上传这些小数据块
      

  5.   

    不要说IIS7.0+PHP,就是IIS100+PHP+ASP+JSP+ASP.NET都不能一次性上传2G文件。
    在HTTP中向服务器上传大文件的方法可以参考一下QQ邮箱的做法。楼上的朋友说的很正确,必须将文件分割成许多个小数据块,然后每次上传一个小的数据块,这样服务器就能够处理。其实现在网上也有成熟的解决方案了,楼主可以搜一下。Xproer.HttpUploader3
    此控件支持2G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
    文件MD5值计算进度:文件MD5值计算完毕文件上传中文件上传完毕
      

  6.   

    网上可以直接搜到的。http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html