POST subir archivos usando URLRequest

Tengo una pregunta rápida sobre la carga de archivos POST en ActionScript 3. Estoy intentando cargar un ByteArray desde la memoria a través de POST a un servidor. Estoy usando la clase URLRequest para enviar los datos, y URLLoader porque quiero monitorear el progreso. Las secciones relevantes del código son las siguientes:

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);

El problema es que he configurado mis devoluciones de llamada para rastrear el progreso de carga, y la propiedad bytesTotal del ProgressEvent siempre es 1960 (el tamaño de la solicitud menos los datos), a pesar de que los datos reales son alrededor de 20 MB y no hay ningún archivo cargado incluso después de que se active el evento Completo.

Verifiqué que upload.php funciona correctamente con un simple formulario html, y puedo verificar que myByteArray contiene todos los datos en cuestión. ¿Alguien puede decirme qué estoy haciendo mal?

Editar

He intentado un par de cosas nuevas que pensé que debería mencionar. El primero es configurar el tipo de contenido en application / octet-stream en lugar de multipart / form-data, que no tuvo otro efecto que aumentar el número de bytes hasta 1964. También verifiqué el registro de errores de Apache y encontré que el siguiente texto se repetía mucho :

PHP Advertencia: Falta el límite en datos POST multiparte / formulario en Desconocido en la línea 0

Supongo que Flash no está formateando la solicitud HTTP correctamente por cualquier motivo. Dado que creé una FileReference que utiliza los mismos métodos que configuré para que el URLLoader cargue un archivo desde el disco, y obtuve el resultado esperado: la propiedad bytesTotal coincidía con el tamaño del archivo y el archivo se cargó correctamente.

Trabajando desde allí, encontré una página en los documentos de desarrollador de Adobe que menciona la carga de datos a un servidor usando FileReference.upload () configurando el parámetro de datos de URLRequest, así que probé el siguiente 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 resultó en el siguiente resultado:

ArgumentError: Error # 2127: los datos POST de FileReference no pueden ser de tipo ByteArray.

Estoy realmente atrapado aquí. ¡Cualquier sugerencia sera apreciada

Respuestas a la pregunta(2)

Su respuesta a la pregunta