Avatar billede Stickano Nybegynder
20. september 2011 - 15:19 Der er 4 kommentarer og
1 løsning

SWFupload med POST værdi.

Hej-
Jeg er i gang med et projekt hvor jeg har valgt at bruge jQuery plugin, SWFupload. Mit problem er at jeg virkelig ikke er skarp til Java, og da jeg nu står og skal have SWFuploader til at smide en POST værdi med, er jeg lidt på bar bund. Jeg har læst deres dokumentation, og forsøgt mig med forskellige ting, men intet har givet pote indtil videre. Derfor, kære eksperter, søger jeg nu jeres viden^^

Hvad jeg har læst mig til er der noget som hedder et addPostParam, og jeg er rimelig sikker på det er den jeg skal ind og lege med.
Dokumentation: http://demo.swfupload.org/ (...)

Der er noget Java som følger scriptet, og det har jeg bare copy pasted. Det ser sådan her ud:

<script type='text/javascript'>
$(function(){
    $('#swfupload-control').swfupload({
        upload_url: "php/upload-file.php",
        file_post_name: 'uploadfile',
        file_size_limit : "3024",
        file_types : "*.jpg;*.png;*.gif",
        file_types_description : "Image files",
        file_upload_limit : 50,
        flash_url : "js/swfupload/swfupload.swf",
        button_image_url : 'js/swfupload/wdp_buttons_upload_114x29.png',
        button_width : 114,
        button_height : 29,
        button_placeholder : $('#button')[0],
        debug: false
    })
        .bind('fileQueued', function(event, file){
            var listitem='<li id="'+file.id+'" >'+
                'File: <em>'+file.name+'</em> ('+Math.round(file.size/3024)+' KB) <span class="progressvalue" ></span>'+
                '<div class="progressbar" ><div class="progress" ></div></div>'+
                '<p class="status" >Pending</p>'+
                '<span class="cancel" >&nbsp;</span>'+
                '</li>';
            $('#log').append(listitem);
            $('li#'+file.id+' .cancel').bind('click', function(){
                var swfu = $.swfupload.getInstance('#swfupload-control');
                swfu.cancelUpload(file.id);
                $('li#'+file.id).slideUp('fast');
            });
            // start the upload since it's queued
            $(this).swfupload('startUpload');
        })
        .bind('fileQueueError', function(event, file, errorCode, message){
            alert('Size of the file '+file.name+' is greater than limit');
        })
        .bind('fileDialogComplete', function(event, numFilesSelected, numFilesQueued){
            $('#queuestatus').text('Files Selected: '+numFilesSelected+' / Queued Files: '+numFilesQueued);
        })
        .bind('uploadStart', function(event, file){
            $('#log li#'+file.id).find('p.status').text('Uploading...');
            $('#log li#'+file.id).find('span.progressvalue').text('0%');
            $('#log li#'+file.id).find('span.cancel').hide();
        })
        .bind('uploadProgress', function(event, file, bytesLoaded){
            //Show Progress
            var percentage=Math.round((bytesLoaded/file.size)*100);
            $('#log li#'+file.id).find('div.progress').css('width', percentage+'%');
            $('#log li#'+file.id).find('span.progressvalue').text(percentage+'%');
        })
        .bind('uploadSuccess', function(event, file, serverData){
            var item=$('#log li#'+file.id);
            item.find('div.progress').css('width', '100%');
            item.find('span.progressvalue').text('100%');
            item.addClass('success').find('p.status').html('Uploaded');
        })
        .bind('uploadComplete', function(event, file){
            // upload has completed, try the next one in the queue
            $(this).swfupload('startUpload');
        })
 
}); 
</script>                 

På forhånd, tak.
Avatar billede jokkejensen Novice
20. september 2011 - 15:34 #1
Skal det nødvendigvis være post? ellers kunne du bare append til din : upload_url..

upload.php?extravar=XXX&extravar2=XX2
Avatar billede jokkejensen Novice
20. september 2011 - 15:47 #2
$('#swfupload-control').swfupload({
        upload_url: "php/upload-file.php",
post_params: { "post_name1": "post_value1", "post_name2": "post_value2" },
//resten af dine egenskaber
Avatar billede Stickano Nybegynder
25. september 2011 - 09:13 #3
Undskyld det sene svar. Da vi er gået i gang med en eksamen har jeg ikke lige haft så meget tid de sidste par dage. Jeg fik det testet hurtigt, men lige umiddelbart så det ikke ud til at virke. Jeg tror dog du har fat i det rigtige. Kan du fortælle mig hvis jeg nu laver min input id= "kategori", så laver jeg noget i stil med:

post_params: { "kategori": "kateogori" },

og kalder den i min upload-file som $_POST['kategori'], er jeg så helt forkert på den?

Du for point da der nok går et par dage før jeg for kigget på det igen, og jeg tror 100% på du har fat i det rigtige, men derimod bare mig der fejler et sted.
Avatar billede jokkejensen Novice
25. september 2011 - 12:43 #4
Nej jeg er bange for du bliver nød til at skrive direkte til den egenskab.

Altså :
post_params: { "kategori": $("#kategori").val()},

Vh
/J
Avatar billede jokkejensen Novice
25. september 2011 - 12:43 #5
tak for points, hvis jeg ikke lige får fulgt op, så skriv en privat besked, med link til tråd :)
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

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