Uploadify for ASP.NET应用程序返回大型文件的HTTP错误
我的Uploadify脚本适用于大多数小于10 MB的文件。但一旦文件大小开始超过40MB,它将无法上载,只有一条错误消息“HTTP error”。我尝试为Uploadify实现onError处理程序,但它没有告诉我确切的错误是什么。变量返回为“未定义”。我检查了我的web.config文件,文件大小限制设置为50MB,我有30分钟的超时时间,所以我不知道问题出在哪里。这是我的剧本: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/
$('#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应用程序在远程服务器上运行。该文件是从本地计算机上的浏览器上载的。