【问题标题】:Selecting Multiple Files for Upload in Web Page在网页中选择多个文件进行上传
【发布时间】:2010-11-30 11:17:04
【问题描述】:

我正在构建一个能够处理多个上传文件的文件上传网页。理想情况下,我希望允许用户选择一个文件夹并让网页在客户端枚举文件夹中的文件,但我认为没有浏览器插件是不可能的。

或者,是否可以允许用户使用 Shift-click 和 Ctrl-click 在“文件/打开”对话框中选择多个文件,然后枚举这些文件

明确地说,我不希望用户必须通过反复打开和关闭文件/打开对话框来单独指定每个文件。

我不能使用 Flash 或任何其他类型的二进制插件,但 jQuery 是可以的。我需要支持 IE7+、Firefox 和 Safari。

【问题讨论】:

  • 这些似乎需要闪存。
  • 是的,因为没有闪光灯、silverlight 或 activex 是不行的
  • 您可能不想在一个 http 请求中上传大量文件,因为它往往变得不可靠。一段时间后,您会发现您最终会遇到各种防火墙请求大小限制、超时和一般网络问题。大多数加载项加载程序将根据不同的请求上传每个文件,这使事情更可靠并提供更好的错误处理。
  • 我打算使用 Darren Johnstone 的 File Uploader 控件:darrenjohnstone.net/2008/08/...。它已经知道如何正确处理多个大文件上传;我只是希望让用户更轻松地执行多个文件选择

标签: c# javascript jquery asp.net-mvc client


【解决方案1】:

是否可以允许用户在文件/打开对话框中使用 Shift-click 和 Ctrl-click 选择多个文件,然后枚举这些文件?

没有。

虽然实际上,根据 HTML 规范,文件上传字段最初是假定允许的。 Opera 在旧版本中支持此功能,但它使许多不期望有多个文件的 web 应用程序崩溃,因此他们停止了它。

目前唯一的方法是使用插件,最好是支持多个 HTML 单文件上传控件作为后备的 Flash 上传器。

【讨论】:

  • 我将在初始版本中使用“添加文件”按钮。如果用户反馈说需要选择多个文件,我会告诉他们它需要 Flash 或 Java 依赖项。感谢您的信息。
【解决方案2】:

我强烈推荐阅读 Rick Strahl

this article

HTML5的简短回答

<form method="post" enctype="multipart/form-data">                
  <label>Upload Images:</label>
  <input type="file" multiple="multiple" name="File1" id="File1" accept="image/*" />
  <hr />  
  <input type="submit" id="btnUpload" value="Upload Images" />
</form>

【讨论】:

    【解决方案3】:

    不妨试试 www.pulpload.com 。根据浏览器的不同,这可能是上传多个文件的好方法

    【讨论】:

      【解决方案4】:

      您需要 Flash 或 Java 才能选择多个文件进行上传。
      看看这个:http://www.uploadify.com/
      有大量的other solutions...但没有一个是纯 HTML。

      【讨论】:

        猜你喜欢
        • 2011-07-28
        • 1970-01-01
        • 2010-10-10
        • 2010-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-26
        相关资源
        最近更新 更多