FileReference y URLVariables a la vez. AS3
BuenAS,
A ver si alguién me puede echar un cable..
Tengo un form que usuario sube la una foto desde su ordenador, para tal uso el FileReference y algunas cosas más como la clase UploadPostHelper Class de Jonathan Marston y la liberia de Adobe de AS3.
+ info: aqui.
El subir del archivo me va el problema es subir y pasarle por post las vars que quiero la mismo tiempo...
// defino el bitmapData
var bmd:BitmapData = new BitmapData(imgBrowsed.width, imgBrowsed.height, true, 0xFFFFFFFF);
bmd.draw(paperShow.imgPicked, new Matrix(), null, null, null, true);
var variables:URLVariables = new URLVariables();
variables.titulo = "Going crazy!";
variables.descripcion = "Me voy de vacaciones, es que ya!";
variables.nombre = "Peptito Perez";
variables.slogan = "Peer2peer mola!";
// creo el jpg byte array con la clase de adobe;
var byteArray:ByteArray = new JPGEncoder(100).encode(bmd);
// creo el nombre del archivo...
m_finalImage = getUniqueName();
// preparo los headers y el request para el upload;
var urlRequest : URLRequest = new URLRequest();
urlRequest.url = createPath + '?path=' + m_outputPath;
urlRequest.contentType = 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary();
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = UploadPostHelper.getPostData( m_finalImage + m_imageExtension, byteArray );
// por aqui le meto el vars...
urlRequest.data = variables;
urlRequest.requestHeaders.push( new URLRequestHeader( 'Cache-Control', 'no-cache' ) );
var urlLoader : URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE, onCompleteEvent)
urlLoader.load(urlRequest);
function onCompleteEvent(event:Event):void
{
if(urlLoader.data=="ok")
{
// refresco el contenido...
//refreshContent();
}else{
//ups...
//showError();
}
}
Saludos++
ochionet
Supongo que la información la quieres guardar en una base de datos, por lo tanto debe de existir un identificador único.
Podrías subir la imagen, y esperar una respuesta del servidor recibiendo el id en el caso de que todo haya ido OK,
Una vez sepas el id pasas las variables. Son dos pasos pero primero tienes que conseguir que funcione.
Saludos,
danidoblas
Hola, igual esto te sirve http://llops.com/blog/2009/01/18/envio-de-imagenes-y-datos-con-as3/
La idea es añadir a la llamada del getPostData los parámetros/variables que necesites enviar por post...