Uploadify for ASP.NET应用程序返回大型文件的HTTP错误

Uploadify for ASP.NET应用程序返回大型文件的HTTP错误,asp.net,uploadify,Asp.net,Uploadify,我的Uploadify脚本适用于大多数小于10 MB的文件。但一旦文件大小开始超过40MB,它将无法上载,只有一条错误消息“HTTP error”。我尝试为Uploadify实现onError处理程序,但它没有告诉我确切的错误是什么。变量返回为“未定义”。我检查了我的web.config文件,文件大小限制设置为50MB,我有30分钟的超时时间,所以我不知道问题出在哪里。这是我的剧本: $('#uploader').uploadify({ 'uploader': '/js/uploadify/

我的Uploadify脚本适用于大多数小于10 MB的文件。但一旦文件大小开始超过40MB,它将无法上载,只有一条错误消息“HTTP error”。我尝试为Uploadify实现onError处理程序,但它没有告诉我确切的错误是什么。变量返回为“未定义”。我检查了我的web.config文件,文件大小限制设置为50MB,我有30分钟的超时时间,所以我不知道问题出在哪里。这是我的剧本:

$('#uploader').uploadify({
  'uploader': '/js/uploadify/uploadify.swf',
  'script': '/cms/common/uploadify/UploadHandler.ashx',
  'cancelImg': '/images/cancel_upload.png',
  'buttonImg': '/images/select_video_thumbnail_en-us.gif',
  'auto': true,
  'folder': '/Temp',
  'multi': false,
  'sizeLimit': 0,
  'displayData': 'percentage',
  'simUploadLimit': 1,
  'fileExt': '*.jpg;*.gif;*.png',
  'fileDesc': '*.jpg;*.gif;*.png',
  'buttonText': 'Select thumbnail...',
  'width': '120',
  'height': '24',
  'onComplete': function (e, queueId, fileObj, response, data)
  {
    return true;
  },
  'onError': function (a, b, c, d)
  {
    if (d.status == 404)
      alert('Could not find upload script.');
    else if (d.type === "HTTP")
      alert('error ' + d.type + ": " + d.status);
    else if (d.type === "File Size")
      alert(c.name + ' ' + d.type + ' Limit: ' + Math.round(d.sizeLimit / 1024) + 'KB');
    else
      alert('error ' + d.type + ": " + d.text);
  },
  'onCancel': function (e, queueId, fileObj, data)
  {

  }
});

在uploadify函数中添加以下标记

'sizeLimit': '10045728'

这对你有用。大小限制是您的文件大小限制。它以KB为单位。

我正在运行的IIS7的默认内部文件大小限制为30 MB。将maxRequestLength设置为大于此值不会有帮助。通过将以下内容添加到web.config文件,可以解决此问题:

<system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="50000000"/>
            </requestFiltering>
        </security>
</system.webServer>

这也可以在IIS7中设置。有关详细信息,请参阅以下链接:

您是否尝试过使用调试器查看发生了什么?我的第一个想法确实是maxRequestLength和RequestTimeout。顺便说一句,30分钟的超时使超时无效,它太长了!(你确定不是30秒吗?)maxRequestLength=50000,RequestTimeout=30000。30分钟不是不合理的。我试着上传一个40MB的文件,使用DSL连接花了将近12分钟。有些用户可能速度很慢,所以30分钟是安全的。此外,当系统被大量使用时,您需要为系统留出时间。您是在本地运行还是在服务器上运行?asp.net应用程序在远程服务器上运行。该文件是从本地计算机上的浏览器上载的。