2009-04-22 21 views
3

私は、ファイル転送を行っていますが、のFileReference APIは、ファイルのチャンクをサポートしていません。誰もこれを前にしたことがありますか?たとえば、AIRクライアントからカスタムPHP/Java/etcに1ギガバイトのファイルをアップロードできるようにしたいと考えています。サービス。actionscript(flex)を使用して1つのチャンクファイルを作成するにはどうすればよいですか?

答えて

1

あなたがしなければならない必要があるすべてのアップロード()ルーチンを使用しているようです。 phpまたはjavaサービスがチャンクを行う必要があります。

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

ここ日干し学習領域でのFileReferenceを使用してのはるかに精巧な例があります: http://www.adobe.com/devnet/air/flex/articles/uploading_air_app_to_server.html

0

3つのオプションがこれに飛び出す:

  1. は再開可能をサポートしてFTPサービスを使用します転送もこれをサポートしています。あなた自身のカスタムサービスと通信したい場合は、オプションではないかもしれません。
  2. HTTPファイルパートヘッダのサポートを活用。 AIRが適切なhttpヘッダー(コンテンツ範囲&のコンテンツ長)へのアクセスを許可している場合にのみ適用されます。これがBITSの役割です。おそらく実装するのが少し難しいでしょう。
  3. ハンド独自のTCPやUDPプロトコル交換をロールバックします。かすかな心のためではありません。私はこのルートに行く前にOSSの空間を調べるだろう。
0

私はのFileReferenceはチャンクを行い、少なくともそれは私が観察したものだと思います。フィドラーのようなツールを使って、実際にそれを見ることができます。 FileReferenceアップロードの送信ヘッダーを分析すると、それらはチャンクされます。

履歴書はあなたが後にしているものであれば、私はあなたがのFileReferenceとのことについては行くだろうかと言うことはできません。私は一般的な投稿に小さなファイルをアップロードしましたが、フラッシュ/エアクライアントはすべてのバイトをアプリに読み込む必要があります。 1GBのファイルでフラッシュをクラッシュさせることもあれば、クラッシュさせないこともあります(システムに依存します)。

関連する問題