Изменить загрузку одного изображения на пакетную загрузку?(Помогите, пожалуйста!) - PullRequest
0 голосов
/ 28 февраля 2012

РЕДАКТИРОВАТЬ: немного переработал мой код и решил выбросить URLLoader в пользу метода File.upload ().

Теперь я снова застрял> _ <</p>

Вот код, который у меня есть в настоящее время, урезанный до костей: https://gist.github.com/1943401

Когда я перетаскиваю файлы изображений в свое приложение, вот журнал трассировки, который мне возвращается:

[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>
"]

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Я сделал что-то похожее на альтернативу Тодду. В основном мне приходилось загружать каждое изображение асинхронно (по одному).

Итак, я создал массив изображений и создал счетчик целых чисел (i), начиная с 0.

uploadImage(imagesArray[i]);

Каждый раз, когда я загружал изображение, вызывалось событие COMPLETE.

в рамках полной функции события счетчик был увеличен. Если бы счетчик был меньше длины массива images, я бы тогда например, * +1008 *

i++
if (i < imagesArray.length) {
uploadImage(imagesArray[i]);
} else {
//all images have been uploaded.
//reset vars
i = 0;
imagesArray = [];
}
0 голосов
/ 29 февраля 2012

В вашем методе doDragDrop я бы сначала бросил ваш addImage(); вызов вне цикла for, а не внутри него, поскольку в addImage() вы все равно просматриваете файлы.

Если это не улучшит вашу проблему, вы можете также рассмотреть возможность добавления всех файлов в массив / очередь, как вы, но затем только отправлять их на сервер по одному за раз.В случае Event.Complete или IOError я бы вызвал новую функцию для обработки следующего файла в массиве / очереди.

...