Fremstilling af formuar i Flash (AS2 eller AS3)
Hej eksperter.Jeg kæmper intenst med en Flashversion af en eksisterende webformular til Ekstra Bladet. Der skal overføres en række parametre i form af tekst OG!!!! en billedsti.
Der er lavet både en AS2 og AS3-version, da jeg endnu ikke er helt skarp til AS3, men det er sidstnævnte, jeg har de største forventninger til.
Prøv at se den eksisterende kode her: http://www.innova2r.dk/test.html
Her er en parameterliste:
- sid (MD5-kryptering af userid og aktuelt tidspunkt));
- tid (antal sekunder siden 1. jan. 1970, men truncated til 10 tegn)
- user (userid, 6 tegn)
- ingress (Streng, blot en beskrivelse)
- titel (Streng, en alm. titel)
- tags (Streng, kommaseparerede tags)
- uploadDisclaimer (true/false)
- kategorier (Tal, f.eks. 202)
- fil (Et "browse"-felt, hvor en bruger vælge en video)
HER ER DEN VIGTIGSTE KODE
var URLrequest:URLRequest = new URLRequest("http://**.*******.dk/api/userupload.php");
var imageTypes:FileFilter = new FileFilter("Images (*.mov, *.avi, *.mpg, *.3gp)", "*.mov; *.avi; *.mpg; *.3gp");
var textTypes:FileFilter = new FileFilter("Text Files (*.txt, *.rtf)", "*.txt; *.rtf");
var allTypes:Array = new Array(imageTypes, textTypes);
var fil:FileReference = new FileReference();
fil.addEventListener(Event.SELECT, syncVariables);
fil.addEventListener(Event.COMPLETE, completeHandler);
fil.addEventListener(ProgressEvent.PROGRESS, progressHandler);
uploadprompt_mc.uploaderClip_mc.browse_btn.addEventListener(MouseEvent.CLICK, browseBox);
uploadprompt_mc.uploaderClip_mc.upload_btn.addEventListener(MouseEvent.CLICK, uploadVars);
function browseBox(event:MouseEvent):void {
fil.browse(allTypes);
}
// Når man trykker upload, sker dette
function uploadVars(event:MouseEvent):void {
function trunc(streng, antaltegn) {
streng.length = antaltegn;
return streng.join("");
}
var variables:URLVariables = new URLVariables();
var todayDate:Date = new Date();
variables.sid = kryptering.encrypt(loginXML.userid+"+"+todayDate.time);
variables.tid = trunc(String(todayDate.time).split(""),10);
variables.user = loginXML.userid;
variables.redirect = "box119.jsp?upload=ok";
variables.redirect_error = "box119.jsp?upload=error";
// Det var formalia
variables.fil = fil.name;
variables.uploadDisclaimer = "true";
variables.titel = "TEST";
variables.tags = "TESTTAG"
variables.kategorier = "202";
variables.ingress = "Testbeskrivelse";
URLrequest.data = variables;
URLrequest.method = URLRequestMethod.POST;
//navigateToURL(URLrequest);
fil.upload(URLrequest);
//sendToURL(URLrequest);
// Debug
debug.text = variables.sid + " - " + variables.tid + " - " + variables.user + " - " + variables.fil + " - " + variables.titel + " - " + variables.tags + " - " + variables.kategorier + " - " + variables.ingress + " - " + variables.uploadDisclaimer;
}
Debug-teksten i bunden giver f.eks. følgende streng:
96800c833daf61eea81f35e9d71ccb5b - 1240764464 - 337415 - intro_Custom.mov - TEST - TESTTAG - 202 - Testbeskrivelse - true
DEN STORE UDFORDRING er at få det gylle til at virke - uploadsekvensen starter og der går ca. 10 sekunder hvor en progressbar vises, mens der uploades. Men: Der kommer ikke noget til syne inde på nationen.tv.
Hvis jeg i stedet for fil.upload() indkommenterer de øvrige sætninger, får jeg beskeden om at et felt mangler at blive udfyldt (måske får den slet ikke nogen af parametrene).
Desuden er jeg usikker på, hvordan .upload-kommandoen præcist virker. Derfor rummer parameterlisten også variables.fil, just in case. Som det ses i debug-teksten, viser den intro_Custom.mov (uden filsti, så måske ligger problemet her - men hvordan hentes den absolutte filsti?)
Har I nogle forslag?
