Bonjour,
Je veux savoir comment récupérer le chemin d'un input file, Merci pour votre aide.
Version imprimable
Bonjour,
Je veux savoir comment récupérer le chemin d'un input file, Merci pour votre aide.
Bonjour,
Tout dépend du type d'upload que tu utilises.
Avec aspsmartupload par exmeple, il te suffit de faire retiourner
et tu récupères le chemin completCode:file.FilepathName
Merci pour ta réponse, Est ce qu'il y a un moyen sans utiliser des composant car aspsmartupload ne fonctionne pas chez moi
Il te faudra de toute manière une collection, avec ou sans objet, si tu veux les enregister.
Tu peux regarder sur google, il y a plein d'exemples existants partagés
ce que je veux c'est parametrer le fichier et de ne pas utilisé une seule position au lieu de faire
Je veux faireCode:
1
2
3 <% MaConn.Open "DBQ=" & Server.MapPath(FichierExcel) & ";DRIVER={Microsoft Excel Driver (*.xls)};"%>
Merci de ton aideCode:
1
2
3 <% path_fichier=....' le chemin qui dans mon input + le nom de fichier MaConn.Open "DBQ=" & path_fichier & ";DRIVER={Microsoft Excel Driver (*.xls)};"%>
Oui je comprends bien ce que tu me dis mais le problème reste entier... il te faut d'abord charger le fichier sur le server pour pouvoir l'exploiter avec un server.MapPath
Merci infiniment de ton suivi et de tes réponse, je vais tester le code et te répondre plustard
Bonjour
Grosse confusion, à priori :
Un input de type file se trouve sur le navigateur du client, et sert à rechercher un fichier sur la machine cliente, alors que ta connexion à la base de donnée est sur le serveur.
Je ne comprends pas le but de ta manoeuvre
Non non, je pense pas qu'il y ait confusion...
j'ai fait une appli comme ça il y a quelques années d'import de données. Tu télécharges ton fichier db de ton poste sur le server et tu l'exploite.
Bien sûr ça veut dire que ton fichier respecte un template strict...
Pour éclaircir mon point je veux simplement récupérer le chemin du fichier que je vais chargé depuis ma machine afin de l'utilisé dans un traitement par exp:
Code:
1
2 <input type="File" name="monfichier" />' je veux récupérer le chemin complet que contient ce champ exp:"D://monfichier/file.xls"
Ben pour ça, eclisse t'as déjà répondu.
et quel est le type de cet objet file?
ben <input type="file"> ???
ça m'as donnée une erreur, en tout cas j'ai réussi à trouver une solution avec javascript, j'ai créer une fonction qui remplis un champs avec la valeur de mon input file dès que je clique sur valider
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <html> <head> <title>Afficher le contenu d'un fichier Excel dans une page ASP</title> <script language="javascript"> function pos(){ document.getElementById("src").value=document.getElementById("excel_file").value; } </script></head> <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#0000FF" alink="#FF0000"> <form method="post" name="f"> <table> <tr><td>Fichier:</td><td><input type="file" name="excel_file" id="excel_file"> <input type="hidden" name="src" value="" id="src" ></td></tr> </table> <input type="submit" name="envoie" value="OK" onClick="pos()"></form> </body> </html>
Faire une fonction qui te permet de récupérer la valeur après avoir choisi le ficiher n'est pas un pb. Mais il te faut quand même charger le fichier, sinon, ça n'a aucun intérêt... me trompe ?:koi:
Je sais c 'une partie de code maintenant quand je récupère le chemin dans le champs je peux le récuperer avec la méthode request.form("src"). et ça m'aidera à pacourir sur le fichier n'importe où il est.
Excuses moi mais pour parfaire ma curiosité, ton application est hébergé sur ta machine, c'est ça ?
parce que si elle est sur un server, ça ne marchera jamais...
Pour moi l'application tourne sur un serveur mais je ne suis pas intéresser à importer le fichier(physiquement) dans le serveur juste l'importation et l'affichage des données dans le navigateur.
Pour plus d'infos: le concept est que l'utilisateur puisse parcourir sur un fichier excel déjà existant est l'injecter dans la base de données pour qu'il puisse les utilisés dans l'application
J’espère que c'est claire et n'hésitais pas à me demander plus d'infos si tu veux
Voici le code complet de ma page
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126 <form method="post" name="f"> <table> <tr><td>Fichier:</td><td><input type="file" name="excel_file" id="excel_file"></td></tr> </table> <input type="text" name="src" value="" id="src" > <input type="submit" name="envoie" value="OK" onClick="pos()"></form> <% if(request.Form.count>0) then src=split(request.Form("src"),"\") s=src(ubound(src)) Set RsF = Server.CreateObject("ADODB.Recordset") sSQL="select VAL_ID,VAL_TEXT from HR_LISTE_VALEUR where CHP_ID=1" Set RsF = Conn.Execute(sSQL) If Not RsF.EOF then arrResultSet = RsF.GetRows() end if taille=ubound(arrResultSet,2) Dim FichierExcel, MaConn, MonObjRs, MonSQL, CompteurColonne 'Nom du fichier Xls FichierExcel = s ' Création de la connexion Set MaConn = Server.CreateObject("ADODB.Connection") MaConn.Open "DBQ=" & Server.MapPath(FichierExcel) & ";DRIVER={Microsoft Excel Driver (*.xls)};" Set MonObjRs = Server.CreateObject("ADODB.Recordset") ' Requete sur le fichier excel ' ATTENTION, c'est le nom d'une zone, regardez dans ' le fichier xls pour voir ce dont je parle ' La Zone s'appel "MesDonnees", la requete ne se fait pas sur ' la feuille mais sur une zone MonSQL = "SELECT * FROM MesDonnees1;" ' Exécution de la requête MonObjRs.Open MonSQL, MaConn %> <table border="1" cellspacing="0" cellpadding="2" align="center" bordercolor="#000000"> <tr> <td colspan="2"><font face="Verdana" size="2" color="#0000FF"><b>Contenue de "MesDonnees" dans "MaFeuille</b></font>"</td> </tr> <tr> <%For CompteurColonne = 0 To (MonObjRs.Fields.Count - 1)%> <td bgcolor="#C0C0C0"><b><font face="Verdana" size="2"><% ' Le nom des champs %><%=MonObjRs.Fields.Item(CompteurColonne).Name%></font></b></td> <%Next%> </tr> <%Do While Not MonObjRs.EOF response.Write(MonObjRs("N°d'affiliation")) if(MonObjRs("Fonction")="Chargé de Clientèle") Then per_profil=100 end if per_login= mid(MonObjRs("Nom"),1,1) if(MonObjRs("Etat Civil")="C") then per_civil="Célibataire" elseif(MonObjRs("Etat Civil")="D") then per_civil="Divorcé" elseif(MonObjRs("Etat Civil")="M") then per_civil="Marié" elseif(MonObjRs("Etat Civil")="V") then per_civil="Veuf/ve" end if i=0 trouve=false ville=0'prolongation confirmé defavorable if(MonObjRs("Décision Période d'essai")="Prolongation")then per_motif=Reconduction else per_motif="" end if dd=cdate(MonObjRs("Fin de période d'essai")) df=cdate(MonObjRs("Date d'ancienneté")) duree=dd-df if(MonObjRs("Date de naissance")<>"")then dt=split(MonObjRs("Date de naissance"),"/") dtn=dt(2)& "-" & dt(1) & "-" & dt(0) end if if(MonObjRs("Date d'ancienneté")<>"")then dt=split(MonObjRs("Date d'ancienneté"),"/") per_entree=dt(2)& "-" & dt(1) & "-" & dt(0) end if if(MonObjRs("Civilité")="Mademoiselle") then civil="Mlle" elseif(MonObjRs("Civilité")="Mademoiselle")then civil="Mme" elseif(MonObjRs("Civilité")="Monsieur")then civil="M." end if per_active=0 if(dd<now)then per_active=1 while (i<taille and trouve=false) sel="" if(arrResultSet(1,i)=MonObjRs("Ville")) then trouve=true ville=arrResultSet(0,i) response.End() end if i=i+1 wend req="insert into personne(per_mat_badge,per_titre,per_nom,per_prenom,per_src_demande,per_date_naissance,per_sit_famille,per_nationalite,per_nbre_enfant,per_mutuelle,per_contrat,per_grade,per_fonction,per_indemnite_transport,per_indemnite_rep,per_salaire_base, per_login,per_profil,per_active) values('" req=req & MonObjRs("Matricule") & "','" & civil & "','" & MonObjRs("Nom") & "','" req=req& MonObjRs("Prénom") & "','" & MonObjRs("Source")& "','" & dtn & "','" req=req & per_civil & "','" & MonObjRs("Nationalite")& "','" & MonObjRs("Nbre d'enfants") & "','" req=req & MonObjRs("Site") & "','" & MonObjRs("Type de contrat") & "','" & MonObjRs("STATUT") & "','" req=req & MonObjRs("Fonction") & "','" & MonObjRs("Prime de Transport") & "','" & MonObjRs("Prime de représentation") & "','" req=req & MonObjRs("Salaire Net") & "','" & per_login & "','" & per_profil & "'," & per_active & ")" %> <tr><% For CompteurColonne = 0 To (MonObjRs.Fields.Count - 1)%> <td align="center"><font face="Arial" size="2"> <%=MonObjRs.Fields.Item(CompteurColonne).Value%></font></td> <%Next %> </tr> <%MonObjRs.MoveNext Loop%> </table> <% response.Write(req) ' On vide tous les objets tout bien comme il faut :) MonObjRs.close Set MonObjRs = Nothing MaConn.close Set MaConn = Nothing end if%>
re
Je persiste :Ton serveur ne peux en aucune manière accéder aux fichiers présents sur le client pour des raisons de sécurité (qui me semblent évidentes).Citation:
Grosse confusion, à priori :
Un input de type file se trouve sur le navigateur du client, et sert à rechercher un fichier sur la machine cliente, alors que ta connexion à la base de donnée est sur le serveur.
Pourtant il faudra bien, c'est le meilleurs moyen. Quitte à le supprimer après utilisation.Citation:
je ne suis pas intéresser à importer le fichier(physiquement) dans le serveur