Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/01/2007, 15h57   #1
Membre habitué
 
Inscription : octobre 2005
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 745
Points : 127
Points : 127
Par défaut copier un fichier

Bonjour,
je souhaite pouvoir via une interface asp faire en sorte que l'utilisateur puisse sauvegarder des images .gif sur mon serveur (avec les droits et tout et tout).
Pour cela j'ai donc un formulaire qui va cherecher l'image a copier :
Code :
1
2
3
4
5
6
<form name="logo" action="actionCreerLogo.asp" method="POST">
trouver Logo :<input type="file" value="Parcourir" name="srcLogo"><br>
Taile hauteur : <input type="text" name="hauteur" size="2"><br>
Largeur : <input type="text" name="Largeur" size="2"><br>
<input type="submit" value="OK">
</form>
et ma page actionCreerLogo:
Code :
1
2
3
4
<%src = cstr(request.form("srcLogo"))
h = request.form("hauteur")
l = request.form("largeur")
CopierImage src, server.MapPath("/"+session("NomDossier")+"/images/logo.gif")%>
avec me session("Nomdossier") qui est bien renseigné et il recupere bien src, j'ai vérifié.
Mais il ne me copie pas le fichier.
Ma fonction CopierImage est:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Function CopierImage(PathName_Source, PathName_Destination)
   Dim fso,Destination
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FileExists(PathName_Source)) Then
      If (fso.FileExists(PathName_Destination)) Then
         Set Destination = fso.GetFile(PathName_Destination)
         If (Destination.attributes and (1 or 16 or 1024 or 2048)) Then
            File_Copy = 2
         Else
            fso.CopyFile PathName_Source, PathName_Destination
            File_Copy = 0
         End If
         Set Destination = Nothing
      Else
         fso.CopyFile PathName_Source, PathName_Destination
         File_Copy = 0
      End If
   Else
      File_Copy = 1
   End If
   Set fso = nothing   
End Function
je pense que c'est cela qui pose probleme etant donné que je l'ai trouvé sur le net et qu'en commentaire ils mettent :
La fonction "File_Copy" copie un fichier.
Si le fichier destination existe déjà, son contenu sera écrasé par le contenu du fichier à copier.
PathName_Source = nom du fichier à copier avec son chemin physique.
PathName_Destination = nom du fichier destination avec son chemin physique.
La fonction retourne :
0 => la copie a été faite,
1 => la copie n'a pas été faite car le fichier source n'existe pas,
2 => la copie n'a pas été faite car le fichier destination est en lecture seule.
or ma destination est un chemin relatif....
Quelqu'un aurait une solution?
Alex35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2007, 16h00   #2
Membre habitué
 
Inscription : octobre 2005
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 745
Points : 127
Points : 127
en fait non ce n'est pas un chemin relatif puisque :
Code :
<%=server.MapPath("/"+session("NomDossier")+"/images/logo.gif")%>
me renvoie C:\wwwroot\New\images\logo.gif,
donc je ne vois pas...
Alex35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 03h58   #3
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

J'ai bien l'impression que le code que tu as trouvé copie un fichier qui est déjà quelque part sur le HD du serveur vers un autre endroit sur le HD du serveur.

Pour réaliser ce que tu désires, tu dois:
1) dans ton formulaire de départ, préciser le enctype de ton formulaire
Code :
1
2
 
<form name="logo" action="actionCreerLogo.asp" method="POST" enctype="MULTIPART/FORM-DATA">
2) dans la page actionCreerLogo.asp, utiliser un composant d'upload, comme aspSmartUpload, qui est gratuit, et qui te permettra de choisir dans quel répertoire tu sauveras le fichier choisi
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 09h06   #4
Membre habitué
 
Inscription : octobre 2005
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 745
Points : 127
Points : 127
Merci de ta réponse.
j'avais bien vu qu'il fallait un composant, je vais me renseigner de ce coté.
Mais ensuite le composant en question peut etre installé sur un serveur France Telecom par exemple pour un admin de site?
Alex35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 13h53   #5
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

C'est une question à poser au support technique de l'hébergeur.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h09.


 
 
 
 
Partenaires

Hébergement Web