les cuento quiero hacer un registro de novedades desde AS3 a php, luego php lo sube a un mysql, en es no hay problema el problema es enviar a php un filereference con variables...
tengo un código que conseguí en otro tutorial que me funciona de maravilla para subir archivos pero la verdad es que no se como enviarle a php no solo el archivo si no también las variables... alguien me puede ayudar? pongo el código que tengo de filereference, me faltaría saber como modificarlo para que no solo envíe el archivo a php sino también variables del tipo string como titulo y descripcion:
//Clases necesarias
import flash.events.*;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.net.URLRequest;
var path:String="http://metalstudio.com.ar/clientes/firstBack/";
//Dirección del PHP que va a subir el archivo
var uploadURL:URLRequest;
var archivo:FileReference;
//Función llamada al pulsar examinar, se crea el FileReference y se abre el navegador de archivos
function Examinar(event:MouseEvent) {
Estado_txt.appendText("\n" + "Vamos a seleccionar el archivo.");
uploadURL = new URLRequest();
uploadURL.url = path+"uploadSlideX.php";
archivo = new FileReference();
PonerListeners(archivo);
archivo.browse(getTypes());
}
//Añado los listener al objeto FileReference
function PonerListeners(dispatcher:IEventDispatcher) {
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
}
//Con está función se generan los tipos de archivos que estarán disponibles para seleccionar desde el navegador
function getTypes():Array {
var allTypes:Array = new Array(getImageTypeFilter(), getTextTypeFilter());
return allTypes;
}
//Tipos de imágenes admitidos, tanto para pc como para mac
function getImageTypeFilter():FileFilter {
return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)","*.jpg;*.jpeg;*.gif;*.png");
}
//Tipos de archivos de texto admitidos, para pc y mac
function getTextTypeFilter():FileFilter {
return new FileFilter("Text Files (*.txt, *.rtf)","*.txt;*.rtf");
}
//Se distribuye cuando se cancela la descarga desde el navegador de archivos.
function cancelHandler(event:Event):void {
Estado_txt.appendText("\n" + "Subida cancelada.");
}
//Se distribuye cuando se finaliza la descarga o la carga
function completeHandler(event:Event):void {
Estado_txt.appendText("\n" + "Subida completada.");
}
//Se reciben datos del servidor tras completar la carga
function uploadCompleteDataHandler(event:Event):void {
Estado_txt.appendText("\n" + "Subida confirmada por el servidor.");
}
//Se produce cuando falla la carga y hay un código http de error.
//Por ejemplo si no se encuentra el PHP, se generará un error 404.
function httpStatusHandler(event:HTTPStatusEvent):void {
Estado_txt.appendText("\n" + "Se ha producido el siguiente error: " + event.status);
}
//Se produce cuando falla la carga o descarga
function ioErrorHandler(event:IOErrorEvent):void {
Estado_txt.appendText("\n" + event.text);
}
//Se inicia la carga o descarga
function openHandler(event:Event):void {
Estado_txt.appendText("\nComienza la subida");
}
//Se distribuye periodicamente durante la carga o la descarga, mostrando el progreso de la misma.
function progressHandler(event:ProgressEvent):void {
var file:FileReference = FileReference(event.target);
Estado_txt.appendText("\n" + event.bytesLoaded + " bytes de " + event.bytesTotal + " bytes subidos.");
}
function securityErrorHandler(event:SecurityErrorEvent):void {
Estado_txt.appendText("\nEl servidor no permitió la carga del archivo.");
}
function selectHandler(event:Event):void {
var archivo:FileReference = FileReference(event.target);
Estado_txt.text = archivo.name;
archivo.upload(uploadURL);
}
Examinar_bt.addEventListener(MouseEvent.CLICK,Examinar);