【问题标题】:Using uploadify as part of an asp.net webform?将uploadify 用作asp.net 网络表单的一部分?
【发布时间】:2011-09-03 18:02:37
【问题描述】:

我有一个网络表单,要求用户填写一些信息并上传图片。

我不明白的地方:

  1. 如果我使用uploadify 选择一个文件,它不会立即将它上传到服务器吗?有没有办法将其推迟到用户单击表单提交按钮?或者至少不保存到文件系统?

  2. 大多数示例使用自定义 HttpHandler 来上传文件,但我的文件上传是表单的一部分。我还应该为此使用 HttpHandler 吗?

【问题讨论】:

    标签: asp.net file-upload upload uploadify


    【解决方案1】:
    1. 在处理程序实际操作文件之前,服务器不应保存文件。 Uploadify 提供用于收集文件和反馈的 UI 控件。有一些可设置的属性可用于控制您是否需要“自动”上传行为。
    2. 您仍然需要一些服务器端处理之王来保存数据,而 HTTPHandler 是执行此操作的常用方法。 HTTPHandler 只是对作为多部分表单数据的一部分从浏览器获取的文件信息进行操作。

    这是一个提供有关 Uploadify 的更多信息的答案:Getting Uploadify Working in C#

    【讨论】:

      【解决方案2】:

      好吧,我将尝试一一回答您的所有问题。但在此之前,请打开 official documentation,因为我将依靠它来获得答案。

      1. 如果我使用 Uploadify 来选择一个文件,它不会立即将其上传到服务器吗?

        正如您在first demo 上看到的,您可以使用anchor(或button 或其他任何内容)来触发上传开始。 Uploadify 在完成之前不会上传任何内容(如果属性 auto 不是 true)。

      2. 有没有办法推迟到用户点击表单提交按钮?

        如上所述,是的。而且是默认方式(因为auto的默认值是false)。

      3. 或者至少不保存到文件系统?

        虽然该按钮不会触发.uploadifyUpload() 方法,但不会进入服务器。但是当 Uploadify 开始发送时,它将由服务器处理(使用 HTTP 处理程序)。处理程序是将其保存到文件系统的人。

      4. 大多数示例使用自定义 HttpHandler 来上传文件,但我的文件上传是表单的一部分。我还应该为此使用 HttpHandler 吗?

        script 属性中所述,您可以指向将处理包含数据的HTTP 请求的任何服务器端语言。 HttpHandler 是正确的,因为它在您编写的代码之前或之后没有任何其他处理。这并不难。 official forum shows some samples。在 StackOverflow 上,我们有很多关于它的问题,例如:Getting Uploadify Working in C#Uploadify not working with ASP.NET WebForms

      【讨论】:

      • 我遇到了推迟上传的 Auto:false 属性。我现在遇到的问题是,当用户单击提交按钮时,它将通过我的服务器端验证,但是在验证的最后,我需要它调用 .uploadifyUpload() 方法。我如何从服务器端调用它?
      • 这是不可能的。这里的策略需要相反:使用scriptData 属性将所有表单字段与文件上传请求一起发送。然后您的 HTTP 处理程序可以验证接收到的数据,然后仅当数据有效时才继续保存文件。
      • 这就是我的想法,因为您有两个线程,一个同步,另一个异步。我认为 scriptData 是处理这个问题的唯一简单方法,谢谢!
      猜你喜欢
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 2012-12-03
      • 1970-01-01
      相关资源
      最近更新 更多