Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[résolu]envoie de fichiers en asp


Messages recommandés

Posté(e)

g un site dynamique avec des images (dont les liens sont stockés dans un BDD), ce que je voudrais c'est pouvoir envoyer les nouvelles images pour qu'elles soient reconnus sur les pages web puisque les sources des images sont du style (http://localhost/rep/images/aaaaa.jpg). tout cela pour pouvoir mettre à jour mon site à distance et sans aucun logiciel ftp.

en bref c un script asp que je voudrais qui permette d'envoyer les images à partir de mon PC au serveur.

merci

Posté(e)
g un site dynamique avec des images (dont les liens sont stockés dans un BDD), ce que je voudrais c'est pouvoir envoyer les nouvelles images pour qu'elles soient reconnus sur les pages web puisque les sources des images sont du style (http://localhost/rep/images/aaaaa.jpg). tout cela pour pouvoir mettre à jour mon site à distance et sans aucun logiciel ftp.

en bref c un script asp que je voudrais qui permette d'envoyer les images à partir de mon PC au serveur.

merci

Salut,

 

soit tu as le choix d'utiliser un composant qui va te permettre de faire l'upload, pour asp le plus conu est SMARTUPLOAD

http://www.laltruiste.com/coursasp/composa...martupload.html

http://www.asp-magazine.com/fr/asp/net/net12.Asp

 

 

Où tu peux passer sans composant, exemple : http://lesitedenikko.free.fr/pages/boulot/...load_method.htm

 

 

++

Nyko

Posté(e)

merci Nyk_o, je vais essayer et je te tiens au courant :P

Posté(e)

salut Nyk_o,

j'ai essayé la 2ème solution qui n'utikise pas de dll, mais par contre je n'arrive pas à changer le repertoire d'upload, le script upload les fichiers mais les met dans la racine du site (c'est à dire c:\inetpub\wwwroot\).

quulqu'un peut me donner un coup de main merci....

voici le script:

<%
' --------------------------------------------------------------
' UPLOAD de n'importe quel type de fichier sans composant
' Nicolas Chu
' http://www.nc-technologies.com
' --------------------------------------------------------------

Dim Contenu, TailleContenu, ContenuAscii, X, Y, Z, Position

' ---------------------------
Contenu = Request.BinaryRead(Request.TotalBytes) 
TailleContenu = Request.TotalBytes

' Grâce à la méthode BinaryRead on lit la totalité du post en mode binaire que l'on place dans une variable Contenu  
' La propriété TotalBytes nous Indique le nombre total des octets envoyés par le client dans le corps du message de requête.   

' -------------------
ToutOk = 0      
' ToutOk est une Variable Test (si tout est Ok, elle prend la valeur 1 sinon elle reste à 0

' -------------------
PosDebutFic=0   
' PosDebutFic représente la position de l'octet où se trouve le début du Nom du fichier transmis

' -------------------
PosFinFic=0     
' PosFinFic représente la position de l'octet où se trouve la fin du Nom du fichier transmis   

' -------------------
PosDebutCont=0  
' PosDebutCont représente la position de l'octet où se trouve le début du Content-Type du fichier   

' -------------------
PosFinCont=0    
' PosFinCont représente la position de l'octet où se trouve la fin du Content-Type du fichier   

' -------------------
PosDebutFic2=0   
' PosDebutFic2 représente la position de l'octet où se trouve le début du Contenu du fichier   

' -------------------
PosFinFic2=0     
' PosFinFic2 représente la position de l'octet où se trouve la fin du Contenu du fichier   

X = 0
Y = 1
Position = 1

' -------------
' En premier lieu, on recherche la position du terme filename="
' Pour ce faire, on calcul le nombre d'octet (LimitBin) du premier élément jusqu'à filename=" (on effectue une boucle jusqu'au nombre d'octets correspondant au terme filename=")

  LimitASCII = "filename=" & chr(34) 
  LimitBin=""
  for Z = 1 to Len(LimitASCII)
      LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
  next

' -------------------
' On recherche la position de l'octet de la chaîne Contenu jusqu'à LimitBin   
' On utilise la fonction InStrB qui est disponible pour être utilisée avec les données de type octet contenues dans une chaîne. Au lieu de renvoyer la position du caractère de la première occurrence d'une chaîne à l'intérieur d'une autre (fonction Instrv), la fonction InStrB renvoie la position de l'octet. 

  PosDebutFic = InstrB(1, Contenu, LimitBin)

' -------------------
' On lui ajoute ensuite la longueur du terme filename=" ce qui nous permet d'avoir la position de début du nom du fichier (PosDebutFic)

  if PosDebutFic <> 0 then
     PosDebutFic = PosDebutFic + LenB(LimitBin)
  end if

' -------------------
' En premier lieu, on recherche la position du terme Content-Type: d'une façon similaire à notre recherche pour le terme filename="

  LimitASCII = "Content-Type:" 
  LimitBin=""
  For Z = 1 to Len(LimitASCII)
      LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
  next
  PosDebutCont = InstrB(1, Contenu, LimitBin)

  if PosDebutCont <> 0 then

' -------------------
' On trouve la position de la fin du nom du fichier (PosFinFic) à partir de la position du début du terme Content-Type: à laquelle on retire trois octets (un espace, une " et la première lettre du terme)   

     PosFinFic = PosDebutCont - 3

' -------------------
' On ajoute à PosDebutCont la longueur du terme Content-Type: , ce qui nous permet d'avoir la position de début du Content-Type (PosDebutCont)

     PosDebutCont = PosDebutCont + LenB(LimitBin)
  end if
 
' -------------------   
' On en déduit le nombre de caractères composant le nom du fichier en effectuant une soustraction
  
  NomFichier = MidB(Contenu, PosDebutFic , (PosFinFic - PosDebutFic)) 

' -------------------   
' Nous n'avons plus qu'à traduire en texte grâce à la fonction ASCB et trouver ainsi le nom du fichier (NomFichier)

  ContenuAscii = ""
  for Z = 1 to LenB(NomFichier)
   ContenuAscii = ContenuAscii & chr(ASCB(MidB(NomFichier, Z, 1)))
  next
  NomFichier = ContenuAscii

' -------------------   
' On cherche la position de début du contenu du fichier en sautant les blancs

  PosFinCont = InstrB(PosDebutCont, Contenu, chrB(13))
  if PosFinCont <> 0 then
   PosDebutFic2 = PosFinCont + 4 
  end if

' -------------------   
' On recherche la position de fin du contenu du fichier 

LimitASCII = "----"
  LimitBin=""
  for Z = 1 to Len(LimitASCII)
   LimitBin = LimitBin & chrB(ASC(Mid(LimitASCII, Z, 1)))
  next

PosFinFic2 = InstrB(PosDebutFic2, Contenu, LimitBin)

' -------------------   
' Si la position de fin du contenu du fichier n'est pas 0 alors tout est OK
  
if PosFinFic2 <> 0 then
   ToutOk = 1 
end if 

' -------------------   
' On place le contenu binaire du fichier transmis dans la variable DataFichier

  DataFichier = MidB(Contenu, PosDebutFic2 , (PosFinFic2 - PosDebutFic2)) 

' -------------------   
' Si tout est ok, on écrit dans un fichier à la racine du serveur en plaçant d'abord dans une variable NouveauFic le chemin complet du fichier à écrire.

 If ToutOk = 1 then 
   Position = InstrRev(NomFichier, "\") 
   NomFichierCourt = right(NomFichier, (Len(NomFichier) - Position)) 
   NouveauFic = Server.MapPath("\") & "\" & NomFichierCourt
   Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
   Set Out=FileObject.CreateTextFile(NouveauFic, True)
   For I = 1 to LenB(DataFichier)
   	Out.Write chr(AscB(MidB(DataFichier,I,1)))
   Next
   Out.close
   Set Out=nothing
 end if

%>

Posté(e)

salut,

 

 

c à la fin qu'il faut que tu précise la destination du fichier :

 

If ToutOk = 1 then 
  Position = InstrRev(NomFichier, "\") 
  NomFichierCourt = right(NomFichier, (Len(NomFichier) - Position)) 
  NouveauFic = Server.MapPath("\") & "\" & NomFichierCourt
  [...]
end if

à la ligne

NouveauFic = Server.MapPath("\") & "\" & NomFichierCourt

 

met y le chemin ou tu veux que soit stocké le fichier

 Server.MapPath("\") & "\repertoire_upload_monfichier\" & NomFichierCourt

 

 

++

Nyko

Posté(e)

ça fonctionne :-P c cool :P merci :-(

A+

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...