begin process at 2012 05 30 02:39:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

Divers

 > 

Upload + récupérer le nom du fichier uploadé


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Upload + récupérer le nom du fichier uploadé

vendredi 23 septembre 2005 à 14:36:19 | Upload + récupérer le nom du fichier uploadé

malalam

Administrateur CodeS-SourceS
Salut,

bon...problème pas uniquement js, mais il y en a...donc, sait-on jamais ;-)
Voilà, je bosse sur e framework XMLRAD, pour ceux qui connaissent. J'ai d'ailleurs posé ma question aussi sur le forum concerné, mais si quelqu'un d'ici a une idée...
XMLRAD permet de travailler sur des fichiers XML, mis en forme avec des fichiers XSL. Le travail côté serveur se fait avec une bdd SQL Server et du delphi. Mais ça, on s'en fout à priori.
Le but est simple : je permets sur ma page de faire un upload de fichier, et je voudrais aussi enregistrer le nom de ce fichier dans ma base.
Etant donné que l'attribut enctype de ma balise form pose un problème quant au nom du fichier (l'upload marche, pas l'insertion dans la base : le nom est vide), je suis passé par un formulaire caché pour le nom du fichier. Voilà en résumé le script :

<script type="text/javascript"><![CDATA[function Upload() {
  var File = GetFieldValue('UploadForm', 'FileToAttach');
  SetField ('ProcessUpload', 'FileToImport', File);
  if (File != '')
  {
    document.body.style.cursor = 'wait';
    SubmitForm('UploadForm',  'ACTION', XMLC_BaseHRef + 'XMLC_UploadFile');
    Process (File);
  }
 
}]]><![CDATA[function Process (Fichier) {
if (Fichier != '') {
    SetField ('ProcessUpload', 'FileToImport', Fichier);
    SubmitForm('ProcessUpload',  'ACTION', XMLC_BaseHRef + 'ImportFileName');
    }
}]]></script>

<form action="{/document/Aliases/SAEDLL}XMLC_UploadFile" method="POST" name="UploadForm" enctype="multipart/form-data">
                    <!--<input type="hidden" name="NextAction" value="ImportHastus"/>-->
                    <input type="hidden" name="XMLC_RequestID" value="{/document/Params/XMLC_RequestID}"/>
                    <table border="0" width="100%">
                        <tr>
                            <td width="30%">
                                <xsl:value-of select="/document/Locales/CalendarFieldName"/>
                            </td>
                            <td width="70%">
                                <input type="file" name="FileToAttach" style="width:100%"/>
                            </td>
                        </tr>
                    </table>
                    <center>
                        <table>
                            <tr>
                                <td>
                                    <xsl:call-template name="xslc:Button">
                                        <xsl:with-param name="Caption">
                                            <xsl:value-of select="/document/Locales/ButtonValidCalendar"/>
                                        </xsl:with-param>
                                        <xsl:with-param name="OnClick">Upload();</xsl:with-param>
                                    </xsl:call-template>
                                </td>
                            </tr>
                        </table>
                    </center>
                </form>
                <form action="{/document/Aliases/SAEDLL}ImportFileName" method="POST" name="ProcessUpload">
                    <input type="hidden" name="NextAction" value="ImportHastus"/>
                    <input type="hidden" name="FileToImport"/>
                </form>


Pour les fonctions js inconnues :
- SetField : permet d'attribuer une valeur au champ d'un formulaire.
- GetFieldValue : récupère la valeur d'un champ d'un formulaire.

Facile ;-)

Maintenant, ce qui se passe ici :

Si je lasse tel quel : l'upload n'est pas réalisé, mais j'ai bien le nom du fichier dans ma base.
Si je comment la ligne Process (File); dans la fonction Upload () j'ai alors mon fichier uploadé, et bien mis dans le bon répertoire, mais dans ma base, je n'ai rien...évidemment.

Une idée quelqu'un...?
Merci par avance :-)

Johan


vendredi 23 septembre 2005 à 15:29:14 | Re : Upload + récupérer le nom du fichier uploadé

malalam

Administrateur CodeS-SourceS
De la même manière, finalement, si je n'utilise que ce script js :

Code:
<script type="text/javascript"><![CDATA[function Upload() {
  var File = GetFieldValue('UploadForm', 'FileToAttach');
  if (File != '')
  {
    SetField ('UploadForm', 'FileToImport', File);
    document.body.style.cursor = 'wait';
    SubmitForm('UploadForm',  'ACTION', XMLC_BaseHRef + 'XMLC_UploadFile');
    SubmitForm('UploadForm',  'ACTION', XMLC_BaseHRef + 'ImportFileName');
  }
}]]></script>

En ajoutant à mon formulaire de départ UploadForm un champ de type "hidden" se nommant "FileToImport" :

Code:

<form action="{/document/Aliases/MADLL}ImportFileName" method="POST" name="UploadForm" enctype="multipart/form-data">
               <input type="hidden" name="NextAction" value="Import"/>
               <input type="hidden" name="XMLC_RequestID" value="{/document/Params/XMLC_RequestID}"/>
               <table border="0" width="100%">
                  <tr>
                     <td width="30%">
                        <xsl:value-of select="/document/Locales/CalendarFieldName"/>
                     </td>
                     <td width="70%">
                        <input type="file" name="FileToAttach" style="width:100%"/>
                        <input type="hidden" name="FileToImport"/>
                     </td>
                  </tr>
               </table>
               <center>
                  <table>
                     <tr>
                        <td>
                           <xsl:call-template name="xslc:Button">
                              <xsl:with-param name="Caption">
                                 <xsl:value-of select="/document/Locales/ButtonValidCalendar"/>
                              </xsl:with-param>
                              <xsl:with-param name="OnClick">Upload();</xsl:with-param>
                           </xsl:call-template>
                        </td>
                     </tr>
                  </table>
               </center>
            </form>


en l'état : j'ai ma base qui est bien mise à jour, mais pas mon upload.
Si je commente cette ligne dans mon script js :

Code:

//SubmitForm('UploadForm',  'ACTION', XMLC_BaseHRef + 'ImportFileName');


je n'ai que mon upload , ma base n'est pas mise à jour.

Sad
[/code]


Cette discussion est classée dans : fichier, base, file, upload, uploadé


Répondre à ce message

Sujets en rapport avec ce message

Code upload fichier d'un internaute vers serveur free [ par jujudu59110 ] Je voudrais que les vivteurs puissent envoyé des fichiers ( photos de préférence ) si posssible accepté que les jpg ou jpeg + bmp vers un serveur free type de fichier uploadé [ par rakizm ] bijoir les gars c encore moi celui du php :)j'aimerai savoir si kk1 sait comment faire un test sur le type de fichier à uploader avant le submit du do Upload file Javacript [ par Jeremy_61 ] Salut a tous, je cherche comment uploader un fichier(photo) recuperé dans un input type="file" par un XMLHttpRequest.pourriez vous me guider sur la me key map file [ par chacha77 ] j'ai ajouté une clé dans le fichier de mappage de reports builder key map file mais lorsque j'utilise cette clé dans l'url lors de l'appel d'un etat [URGENT] File dialog sous Netscape [ par vvoisin ] Bonjour,J'ai un probleme, lorsque je fais un lien sur un fichier sous netscape, il m'ouvre une fenetre ou je ne peux qu'enregistrer et pas executer di Upload par ftp [ par thanae19 ] Bonjours à tous,Je suis entreint de faire une page de mise à jour d'un fichier xml qui se trouve sur mon pc en serveur asp.net, après l'update de ce f comment faire apparaitre une fenetre pendant l'upload d'un fichier [ par entropico ] Je voudrais savoir comment faire apparaitre une fenetre pendant l'upload d'un fichier et sourtôt comment la fermer quand l'upload est  fini.....Merci upload de fichier [ par sabouha31 ] Bonjour a tous; alors j'ai trouvé un script d'upload de fichier "http://www.javascriptfr.com/codes/UPLOAD-MULTIPLE-PHP-UMP-TELECHARGEMENT-MULTIPLE-AJO Upload depuis le client vers le serveur [ par drahcir ] Bonjour, je voudrais uploader un fichier sur mon serveur depuis le client. Je développe en asp.net côté serveur, je pourrais donc utiliser le contrôle upload file iframe js [ par gr43 ] Salut à tous.Je télécharge les fichiers sélectionnés d'un utilisateur par l'intermédiaire d'un formulaire pointant sur une iframe mais je n'arrive pas


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,591 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales