【问题标题】:MVC3 Large File-Uploader IssueMVC3 大文件上传器问题
【发布时间】:2012-03-24 20:54:58
【问题描述】:

我使用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>

【问题讨论】:

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


    【解决方案1】:

    有两个可能的原因。首先,httpRuntimemaxRequestLength 属性

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

    值太小。运行时拒绝太大的请求,您只需将该值设置得更大。

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

    【讨论】:

    • 请查看我的 web.config 我刚刚更新了问题。谢谢!
    • 请求限制在您的web.config 中以明确的方式设置。只需增加值 (maxRequestLength="1024000")。
    • 但我在 web.config 中有 maxRequestLength="1024000"。而且还是不行
    • @Peretz:再读一遍他的答案,他说“增加价值”,而不是“使用价值”。 1024000 是 1 MB。添加一个零,您就有了 10 MB 的限制
    猜你喜欢
    • 1970-01-01
    • 2013-05-07
    • 2012-10-05
    • 2015-01-23
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多