pload de arquivo @POST usando URLRequest

Tenho uma pergunta rápida sobre o upload de arquivos POST no ActionScript 3. Estou tentando fazer upload de um ByteArray da memória via POST para um servidor. Estou usando a classe URLRequest para enviar os dados e URLLoader porque quero monitorar o progresso. As seções relevantes do código são as seguintes:

var uploadRequest:URLRequest = new URLRequest("http://127.0.0.1/upload.php");
uploadRequest.method = URLRequestMethod.POST;
uploadRequest.contentType = "multipart/form-data";
uploadRequest.data = myByteArray;

var uploader:URLLoader = new URLLoader;
uploader.addEventListener(ProgressEvent.PROGRESS, onUploadProgress);
uploader.addEventListener(Event.COMPLETE, onUploadComplete);
uploader.dataFormat = URLLoaderDataFormat.BINARY;
uploader.load(uploadRequest);

O problema é que defini meus retornos de chamada para rastrear o progresso do upload, e a propriedade bytesTotal do ProgressEvent é sempre 1960 (o tamanho da solicitação menos dados?), Mesmo que os dados reais estejam em torno de 20 MB e nenhum arquivo seja carregado mesmo após o evento Completo ser disparado.

Verifiquei que o upload.php funciona corretamente com um formulário html simples e posso verificar se myByteArray contém todos os dados em questão. Alguém pode me dizer o que estou fazendo de errado?

Editar

Eu tentei algumas coisas novas que achei que deveria mencionar. A primeira é definir o tipo de conteúdo como application / octet-stream em vez de multipart / form-data, que não teve nenhum efeito além de aumentar o número de bytes para 1964. Também verifiquei o log de erros do Apache e encontrei o texto a seguir repetido bastante :

PHP Atenção: falta de limite nos dados POST multipart / form-data em Unknown na linha 0

Suponho que o Flash não esteja formatando a solicitação HTTP corretamente por qualquer motivo. Como criei um FileReference que usa os mesmos métodos que defini para o URLLoader fazer upload de um arquivo do disco e obtive o resultado esperado: a propriedade bytesTotal correspondia ao tamanho do arquivo e o arquivo foi carregado corretamente.

Trabalhando com isso, encontrei uma página nos documentos do desenvolvedor da Adobe que menciona o upload de dados para um servidor usando FileReference.upload () definindo o parâmetro de dados do URLRequest, então tentei o seguinte código:

var uploadRequest:URLRequest = new URLRequest("http://127.0.0.1/upload.php");
uploadRequest.method = URLRequestMethod.POST;
uploadRequest.data = myByteArray;

fileRef = new FileReference;
fileRef.addEventListener(ProgressEvent.PROGRESS, onUploadProgress);
fileRef.addEventListener(Event.COMPLETE, onUploadComplete);
fileRef.upload(uploadRequest);

Que resultou na seguinte saída:

ArgumentError: Erro # 2127: os dados do FileReference POST não podem ser do tipo ByteArray.

Estou realmente preso aqui. Qualquer sugestão seria apreciada!

questionAnswers(2)

yourAnswerToTheQuestion