2012-02-28 8 views
0

EDIT:私のコードを少し修正し、URLLoaderをFile.upload()メソッドに捨てることにしました。シングルイメージのアップロードをバッチアップロードに変更しますか? (助けてください!)

は今、私は再びこだわっている> _ <

はここで最低限のためにストリップダウン、私が現在持っているコードです:私は私のアプリに画像ファイルをドロップドラッグするとhttps://gist.github.com/1943401

、ここにあります私に返されるトレースログ:私は最初addImage()であなたのために、ループのため、代わりにその中の外のあなたのaddImage();電話を投げるだろう、あなたのdoDragDrop方法で

[object Document] called. 
doDragEnter() called. 
doDragDrop() called. 
file Extension Check = passed 
Uploading files: C:\testimage.jpg 
addImage() called. 
currently uploading: [object File] 
Making progress with [object File].. 
Making progress with [object File].. 
Making progress with [object File].. 
Making progress with [object File].. 
Making progress with [object File].. 
HTTP Response: [HTTPStatusEvent type="httpResponseStatus" bubbles=false cancelable=false eventPhase=2 status=400 responseURL="http://api.imgur.com/2/upload.xml?key=********REMOVED**********&name=name&title=title"] 
onCookieSent() called. 
resultsListXML = 
Temp value= 
xmlString Value= 
Upload Complete: [DataEvent type="uploadCompleteData" bubbles=false cancelable=false eventPhase=2 data="<?xml version="1.0" encoding="utf-8"?> 
<error><message>No image data was sent to the upload api</message><request>/2/upload.xml</request><method>post</method><format>xml</format><parameters>Filename = testimage.jpg, Upload = Submit Query, key = *********REMOVED********</parameters></error> 
"] 

答えて

1

私はToddsの代わりに何かしました。基本的には、各画像を非同期にアップロードする必要がありました(一度に1つずつ)。

だから画像の配列を作成し、0

uploadImage(imagesArray[i]); 

で私が完了イベントが呼び出された画像をアップロードするたびに開始整数(I)カウンタを作成しました。

完全イベント機能内で、カウンタがインクリメントされました。カウンタがimagesArrayの長さよりも小さい場合は、 などとなります。

i++ 
if (i < imagesArray.length) { 
uploadImage(imagesArray[i]); 
} else { 
//all images have been uploaded. 
//reset vars 
i = 0; 
imagesArray = []; 
} 
+0

私はFile.upload()を支持してURLLoaderを放棄することに決めましたが、サーバーからの応答は「アップロードAPIに画像データが送信されませんでした」という応答です。ここに私の新しいコードがあります。あなたは魚のように見えますか?複数のファイルをアプリにドラッグアンドドロップすると、クラッシュすることはありませんが、ウェブにアップロードされていません。 https://gist.github.com/1943401 – Prefix

+0

FileにFileを入力するのではなく、ByteArray型を送信する必要がある可能性があります。 – crooksy88

0

とにかくファイルをループしています。

これで問題が改善されない場合は、すべてのファイルをアレイ/キューに追加することもできますが、一度に1つずつサーバーに送信することをお勧めします。 Event.CompleteまたはIOErrorでは、配列/キュー内の次のファイルを処理する新しい関数を呼び出します。

+0

お返事ありがとうございました!私はあなたがループのものの中でループを推奨し、修正しました(それを行うには貧しい職人技ですが、生きて学ぶ!:))。私はFile.upload()を支持してURLLoaderを放棄することに決めましたが、サーバーからの応答は「アップロードAPIに画像データが送信されませんでした」という応答です。ここに私の新しいコードがあります。どんな助けもありがとう!返信ありがとう!https://gist.github.com/1943401 – Prefix

関連する問題