代码之家  ›  专栏  ›  技术社区  ›  Solmead

大文件上载到asp.net MVC

  •  19
  • Solmead  · 技术社区  · 17 年前

    目前我正在使用 swfupload ; 它工作得很好,但是它对web服务器来说是一个巨大的打击,因为它在一次大的上传中发送它,而且我必须在web.config中设置它以允许如此大的文件量,这是一个巨大的安全风险。在过去,当我进行web表单开发时,我使用 Neatupload 它将文件分为块并分别上载。我正在寻找一种在mvc中上传大文件的方法,它可以通过分块上传。有什么办法可以帮你吗?

    6 回复  |  直到 12 年前
        1
  •  8
  •   stevehodgkiss    17 年前
        2
  •  7
  •   Tieson T.    10 年前

    我最终使用了 Darren Johnstone's ASP.NET File Upload Module

    这很好,因为它在文件到达服务器时保存了文件,并将文件从发布的数据中剥离出来,然后发送到指定控制器上的操作。

        3
  •  2
  •   Solmead    16 年前

    我认为的例子是:

    <input id="FileGUID" name="FileGUID" type="hidden" value="f632c00b-9b66-4716-8075-79df63b780fb" />
        <input type="file" id="FileUpload1" name="fileUpload1" />
    
        <script type="text/javascript">
            var UploadUrl = '/Video/AsyncUpload?FileGUID=f632c00b-9b66-4716-8075-79df63b780fb';
            $(function() {
                $("#FileUpload1").makeAsyncUploader({
                    upload_url: UploadUrl,
                    flash_url: '/Content/Flash/swfupload.swf',
                    button_image_url: '/Content/Images/blank-button.png',
                    button_text: '<font face="Helvetica, Arial" size="13pt" color="#ffffff">Upload File</font>',
                    disableDuringUpload: 'input[type="submit"]',
                    file_size_limit: '8024 MB',
                    button_text_top_padding: 2
                });
            });
        </script>
    

    然后在该页面的实际保存操作中,我查找一个文件,其中asyncupload操作将根据FileGUID保存该文件

        4
  •  1
  •   gbro3n    12 年前

    可以找到信号器实现示例 here .

    这还包括使用HttpContext.Request.GetBufferlessInputStream()的功能,它允许您在post数据完全上载之前开始使用post数据。

    推荐文章