【问题标题】:How does one chunk files using actionscript (flex)?如何使用 actionscript (flex) 一个块文件?
【发布时间】:2010-10-21 05:51:26
【问题描述】:

我正在进行文件传输,但文件引用 API 不支持文件分块。有没有人这样做过?例如,我希望能够将 1 gig 文件从 AIR 客户端上传到自定义 PHP/Java/等。服务。

【问题讨论】:

    标签: apache-flex file upload


    【解决方案1】:

    看来您应该做的就是使用upload() 例程。 php 或 java 服务应该进行分块。

    var myHugeFile = new air.File('myHugeLocal.file');
    myHugeFile.upload(new URLRequest("http://your.website.com/uploadchunker.php"));
    

    在 adobe 学习区这里有一个更详细的使用文件引用的示例: http://www.adobe.com/devnet/air/flex/articles/uploading_air_app_to_server.html

    【讨论】:

      【解决方案2】:

      三个选项跳出来:

      1. 使用支持可恢复传输的 FTP 服务,假设闪存也支持这一点。如果您想与自己的自定义服务进行通信,这可能不是一个选择。
      2. 利用 http 文件部分标头支持。仅当 AIR 允许访问适当的 http 标头(内容范围和内容长度)时才适用。这就是 BITS 所做的。实施起来可能有点困难。
      3. 手滚您自己的 TCP 或 UDP 协议交换。不适合胆小的人。在走这条路之前,我会先看看 OSS 空间。

      【讨论】:

        【解决方案3】:

        我认为 FileReference 确实是块,至少这是我观察到的。使用 Fiddler 之类的工具,您可以观看它的运行情况。如果您分析 FileReference 上传的传出标头,它们会被分块。

        如果简历是您所追求的,我不能说您将如何使用 FileReference 来解决这个问题。我已经在通用帖子中上传了小文件,但这需要 flash/air 客户端将所有字节加载到应用程序中。在 Air 中,使用 1GB 文件可能会或可能不会使闪存崩溃(我猜这取决于您的系统)。

        【讨论】:

          猜你喜欢
          • 2013-09-02
          • 2011-09-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-01
          相关资源
          最近更新 更多