MVC3大文件上传器问题

时间:2012-03-24 20:54:59

标签: javascript asp.net .net file-upload

我使用Valums在MVC3 Razor下上传大文件。

不知怎的,它只上传了1Mb的小文件。

我已经使用了web.config设置,这应该是好Large File Uploads Fails in Chrome with Valums

但它没有帮助。

这是我的JS

 <script type="text/jscript">
        var uploader = new qq.FileUploader({
            element: document.getElementById('file-uploader-demo1'),
            allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'],
            sizeLimit: 1024*1024*1024,  
            action: '/Test/UploadFile',
            multiple: false,
            onSubmit: function (id, filename) {
                this.params.param1 = $("#ImageTitle").val();
            },
            onProgress: function (id, fileName, loaded, total) {
                //  $('.qq-upload-list').hide();
            },
            onComplete: function (id, fileName, responseJSON) {
                $('.qq-upload-list').hide();
                $("#ImageTitle").val("");
                genTable(responseJSON);
            }
        });

        function genTable(data) {
            var contentData = '';
            contentData += "<img class='myclass' src='/Test/Orders/thumb-" + data + "' />";
            $("#ImageList").html(contentData);
        }

        window.onload = createUploader;     
    </script>

这是我的web.config

<httpRuntime   
                 maxRequestLength="1024000"
                 requestLengthDiskThreshold="1024000"
                 executionTimeout="18000" 
                 />
</system.web>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="1073741824" />
        </requestFiltering>
    </security>

1 个答案:

答案 0 :(得分:1)

有两个可能的原因。首先,maxRequestLength

httpRuntime属性

http://msdn.microsoft.com/en-us/library/e1f13641(VS.71).aspx

价值太小。运行时拒绝过大的请求,您只需要将此值放大。

但是,默认请求限制大约为4mb,您似乎无法发布大于1mb的文件。然后您的托管服务提供商可能会对请求大小施加自己的限制。如果是这样,您必须直接与提供商协商限制。