【问题标题】:File Upload of more than 4GB超过 4GB 的文件上传
【发布时间】:2010-10-16 12:23:17
【问题描述】:

我希望创建一个 ASP.NET Web 应用程序,该应用程序允许上传最大为 4GB 的文件。我怎样才能做到这一点?我更喜欢“下载”管理器之类的东西,我可以在其中恢复、暂停等...

这可能吗?如果是这样,我应该从哪里开始?我认为 asp.net 的上传限制为 4mb 之类的?我不太确定..

请指教。

干杯

【问题讨论】:

    标签: asp.net web-applications file-upload


    【解决方案1】:

    文件上传限制通常由服务器配置文件控制。对不起,我是一个 PHP 人,所以我不确定在 asp.net 中,但对于我们的服务器,我们有一个 php.ini 文件,其中 upload_max_filesize 设置了允许的总大小。

    对于上传管理器,您可能需要使用 java net beans 构建的东西,一个可以购买的基于 java 的插件或swfuploader

    我们已经在许多网站上成功使用了swfuploader

    【讨论】:

      【解决方案2】:

      您始终可以自己实现文件上传,如果 .NET 实用程序中编码了一些限制(尽管它确实不应该),那真的不是那么困难。

      就您可以恢复的某种“上传”管理器等而言,这根本不可能,因为它需要与客户端合作,而现代浏览器的上传功能根本不是那么“智能”。

      您也许可以创建一个小型 Java Applet,您可以将其嵌入到您的页面中以处理会话的客户端,但您需要对 Applet 进行签名,并且您还需要自定义服务器逻辑来处理后端。

      【讨论】:

      • 您当然也可以使用 Flash 或 Silverlight,而不是 Java,但基本上您是对的:文件必须在客户端进行管理,并且只上传切片。
      【解决方案3】:

      除了服务器的限制之外,浏览器还限制可以在 POST 中发送的文件的大小(稍微过时:http://www.motobit.com/help/scptutl/pa98.htm)。这就是为什么许多实施基于 Flash 或 Java 的解决方案,可以使用直接管道到服务器执行“带外”上传。

      【讨论】:

        【解决方案4】:

        您可能需要使用第三方组件来执行此操作。

        您是正确的,默认情况下,标准文件上传控件不允许超过 4MB。您可以使用web.confighttpRuntime 配置部分的maxRequestLength 属性更改该值。您还需要更改 executionTimeout 属性。请参阅here 了解更多信息。

        但最高可达 4GB?我怀疑你会在标准文件上传控制方面取得很大成功。如果连接断开,则一切都结束了,他们将不得不重新开始。您可能想要一些可以维持连接并提供进度条之类的东西。

        查看FileUpEasyAlgo 等产品。谷歌搜索应该会找到很多。

        【讨论】:

          【解决方案5】:

          在 filemail.com,尽管该站点基于 asp.net,但他们使用了 Flex 客户端。所以总的来说,我认为“每个人”都使用 active-x 类型的客户端来完成这项任务。

          【讨论】:

            【解决方案6】:

            .NET 2.0 中的限制为 2 GB。

            如果是 3.5,那么在你的 web.config 中考虑这个,如果你有的话。它设置最大文件大小和超时:

            <httpRuntime maxRequestLength="4194304" executionTimeout="2400"/>
            

            当然,如果您不认真,将文件上传到网站可能会很危险,因此与其他海报一样,考虑使用现有的经过测试的,至少要了解所有注意事项。祝你好运。

            【讨论】:

              【解决方案7】:

              您可以使用覆盖内置请求检查的第三方解决方案通过 ASP.NET 处理高达 4GB 的文件。这将适用于所有版本的 IIS,但 IIS 7 集成模式除外,后者有 2GB 的硬限制。

              大多数上传者都没有暂停/恢复的能力,所以你可能不走运。谷歌看看你能找到什么。您可能必须使用 Java 或 ActiveX 才能获得此功能。

              开始插件

              我是SlickUpload 的作者,它是最早的 ASP.NET 上传者之一——它支持最大 4 GB 的上传。我们不支持 Flash、Silverlight 或 Java,但目前确实拥有最好的仅 AJAX 体验,并且丰富的小程序接口将在未来版本中推出。

              【讨论】:

              • 我可以使用 SlickUpload 上传多个文件吗?
              • Imageree:使用此控件可以上传多个文件,但一次只能选择1个。因此,要上传 5 个文件,您需要进行五个选择。如果您想从单个对话框中进行多选上传,则需要研究 Flash、Java 或 Silverlight。
              • 试用最新版本的 SlickUpload。版本 6 使用 HTML5 File API 为支持它的浏览器添加了多个文件选择和拖放支持。目前,这是 Chrome、Firefox 和 Safari 的最新版本。 IE 9 不支持 File API,但看起来 IE 10 会。
              • 我可以上传最大 4GB 的文件吗?
              猜你喜欢
              • 2021-09-09
              • 1970-01-01
              • 2012-03-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-11-11
              • 1970-01-01
              • 2011-12-27
              相关资源
              最近更新 更多