IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XMLRAD Discussion :

INSERT et UPLOAD


Sujet :

XMLRAD

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2003
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 77
    Par défaut INSERT et UPLOAD
    Je veux sur un même formulaire, saisir des données et renseigner un fichier à envoyer sur le Serveur.
    Si je fais 2 xmlservices différents, çà marche.
    Mais lorsque je veux faire tout dans 1 même xmlservices, l'une des 2 actions marche mais pas la deuxième.
    J'ai essayé :
    1 form avec Action InsertCartet,
    Dans le Xmlservice InsertCartet, dans le AfterXmlGram, j'essaie de lancer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       XMLCollection.Execute('XMLC_UploadFile');
    Mais il me dit qu'il n'a pas de fichier à télécharger, même en passant en paramètre ?file='.........'

    L'autre solution pourrait être de créer un xmlservice ou je passe la référence de mon file et il fait le téléchargement sans avoir à cliquez sur un bouton

    Merci de votre aide

  2. #2
    Membre éclairé Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Par défaut
    Je ne comprends pas quel est ton soucis? Tu peux sans probleme poster un formulaire vers un xmlservice qui enverra des données et des fichiers en même temps!

    Tu recupères dans ton context les données et dans le XMLRequest tes fichiers, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if Context.getValue('CHAMP1') = 'OK' then
    begin
         for i := 0 to XMLRequest.GetFileCount -1 do
               XMLRequest.SaveFileNo(i,path + XMLRequest.GetFileName(i));
    end;
    Peux tu préciser ta question ?

    Michael

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2003
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 77
    Par défaut
    Dans ma form, j'ai un input de type file, dans lequel je peux sélectionner le fichier à télécharger.
    Dans une form upload classique, l'action de la form est XMLC_UploadFile
    La mon action est InsertCartet et je veux à la suite de l'insert, télécharger le fichier vers le repertoire upload du serveur.

  4. #4
    Membre éclairé Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Par défaut
    Dans ce cas, ce que j'ai précisé ci dessus est valable et tu n'as rien à faire d'autre. Sauf peut etre à préciser dans ton formulaire html l'encodage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form enctype="multipart/form-data" ...
    Michael

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2003
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 77
    Par défaut
    Voici le code que j'ai mis dans mon xmlservice INSERT et dans l'évènement AfterXMLGRAM
    Dans file, c'est le nom du fichier sélectionné dans mon formulaire de saisie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
       if XMLApplication.InitParams.Values['XMLC_AllowFileUpload'] <> '1' then 
         XMLRequest.RaiseError('ERR_FILE_UPLOAD_NOT_ALLOWED', ClassName+'.XMLC_UploadFile'); 
     
       if context.Values['file'] = '' then 
         begin 
           if XMLC_TraceInfo then EventLog.TraceInfo(XMLRequest, ClassName, 'XMLC_UploadFile - Pas de fichier à télécharger'); 
           Exit; 
         end; 
     
       UploadDir := XMLApplication.InitParams.Values['XMLC_FileUploadDir']; 
       if UploadDir = '' then 
         UploadDir := 'Upload'; 
       UploadDir := ConcatDir(XMLApplication.InitParams.Values['XMLC_DefaultDataDir'], UploadDir, True); 
     
       filename := context.Values['CA_ID']+ '_' + ExtractFileName( context.Values['file']); 
       context.Values['CA_FILENAME']:= filename; 
       FileName := ConcatDir(UploadDir, FileName, False); 
       if FileExists(FileName) then 
           XMLRequest.RaiseError('ERR_UPLOADED_FILE_ALREADY_EXISTS', ClassName+'.XMLC_UploadFile - FileName[''+FileName+'']'); 
           if XMLC_TraceInfo then EventLog.TraceInfo(XMLRequest, ClassName, 'XMLC_UploadFile - ' + context.Values['file'] + ' dest : ' + filename); 
         WriteStringToFile(context.Values['file'], FileName, False);

    avec cela ça marche.
    Merci pour votre Aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire d'insertion et upload
    Par info_sara dans le forum Langage
    Réponses: 6
    Dernier message: 22/06/2008, 19h53
  2. [MySQL] Upload d'image avec insertion du chemin dans bdd
    Par DjChat dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 29/05/2008, 10h45
  3. Réponses: 2
    Dernier message: 18/03/2007, 19h02
  4. [Upload] Insertion image dans mysql après upload
    Par alexmorel dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2006, 23h46
  5. Réponses: 3
    Dernier message: 21/02/2006, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo