Avatar billede Slettet bruger
26. april 2009 - 19:24

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?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester