2009-07-08 5 views
0

Je suis une nouvelle abeille à fléchir. Ce que je suis en train de faire est de générer et enregistrer le modèle de mise en page qui ne font que toile au format pdf sur le serveur. Actuellement, je suis capable d'afficher le pdf dans le navigateur (voir la fonction ci-dessous :), mais ne peut pas enregistrer le fichier sur le serveur.Problème Flex dans l'enregistrement PDF sur le serveur

private function continueToPdf():void{ 
      myPDF = new PDF( Orientation.LANDSCAPE, Unit.MM, Size.A4); 
      myPDF.setDisplayMode (Display.FULL_WIDTH); 
      myPDF.addPage(); 
      myPDF.addImage(layout_cnv); 
      myPDF.save(Method.REMOTE, "http://flexindia.org/designtool/upload/create.php",Download.INLINE ,"drawing.pdf"); 
    } 

où layout_cnv est un canvas.Also j'utilise AlivePDF.swc lbrary pour cela. Le fichier php au serveur est create.php

    <?php 
       $method = $_GET['method']; 
       $name = $_GET['name']; 

       if (isset ($GLOBALS["HTTP_RAW_POST_DATA"])) { 

// get bytearray 
$pdf = $GLOBALS["HTTP_RAW_POST_DATA"]; 

// add headers for download dialog-box 
header('Content-Type: application/pdf'); 
header('Content-Length: '.strlen($pdf)); 
header('Content-disposition:'.$method.'; filename="'.$name.'"'); 
echo $pdf; 

    } else echo 'An error occured.'; 

      ?> 

quelqu'un peut me aider s'il vous plaît.

+0

Quelqu'un s'il vous plaît aider . –

+0

Je suis confus. Le côté client est flexible, le côté serveur est php. Qui a besoin de sauvegarder le pdf, le client ou le serveur? –

+0

il est nécessaire d'enregistrer sur le côté serveur uniquement. –

Répondre

0

Enfin, après quelques jours, j'ai découvert la solution pour le problème ci-dessus. Ici pour enregistrer le fichier localement au serveur i juste besoin de faire quelques changements dans la fonction suivante comme:

 private function continueToPdf():void{ 
        myPDF = new PDF( Orientation.LANDSCAPE, Unit.MM, Size.A4); 
        myPDF.setDisplayMode (Display.FULL_WIDTH); 
        myPDF.addPage(); 
        myPDF.addImage(layout_cnv); 
        myPDF.save(Method.REMOTE, "create.php",Download.INLINE ,"drawing.pdf"); 
       } 

Où create.php est le script serveur défini comme suit:

 <?php 

     $fp = fopen('upload/drawing.pdf', 'wb'); 
     fwrite($fp, $GLOBALS['HTTP_RAW_POST_DATA' ]); 
     fclose($fp); 
     ?> 

    cheers :-) !!!