upload image avec ou sans composant

upload image avec ou sans composant - ASP - Programmation

Marsh Posté le 18-04-2006 à 15:10:27    

Bonjour.
 :)  
Ce que je veut c'est uploder une image à partir de mon site internet et ensuite  l'enregistrer dans une base de donnée access.
J'ai trouvé pas mal de source mais je ne sait pas si je doit le faire avec ou sans composant côté serveur.
Il y a le choix à ce niveau, comme je suis très débutant en gros.
C'est quoi le mieux ??
 
Merci d'avance.

Reply

Marsh Posté le 18-04-2006 à 15:10:27   

Reply

Marsh Posté le 18-04-2006 à 15:41:30    

Bonjour,
 
Pour ma part, je te dirais d'utiliser ASPUpload (Composant). Ca marche nikel et de très nombreux hébergeur dispose de ce composant en natif!
 
Bonne continuation.
 
Sylvain.

Reply

Marsh Posté le 18-04-2006 à 15:52:11    

Merci je vais demander mon hébergeur voir si il le fait.

Reply

Marsh Posté le 20-04-2006 à 17:04:48    

Bon, j'ai trouvé une source sans composant quiest pas mal:  
 
http://www.aspfr.com/codes/UPLOAD- [...] _8694.aspx
 
Parce qu'avec les composants, il faut s'y connaître en anglais et moi j'y panne rien :cry:  
 
Par contre, en enregistrant l'image dans un dossier, l'upload fonctionne nikel.  
J'ai essayé de la rentrer dans une table access et maintenant cela me repond ça:  
La page que vous recherchez est actuellement indisponible. Le site Web rencontre peut-être des difficultés techniques, ou vous devez modifier les paramètres de votre navigateur.  
 
Voici mon code si ta une idée d'ou ça viens:  
<!-- #include file="connexion.asp"-->  
<%  
Set rs=server.createObject ("ADODB.recordset" )  
rs.Open "upload", conn, 1, 2 ,2 '( voir ouvrir et fermer une connexion à une basel )  
rs.Addnew  
rs.fields("image" )=File1  
rs.update  
rs.close  
set rs=nothing  
Conn.close  
Set conn=nothing  
%>  
 
 
Et ma partie html:  
 <form method=post ENCTYPE="multipart/form-data">  
  File :  
    <input type="file" name="File1">  
    <br>  
    <input type="submit" Name="Action" value="Uploader l'image">  
      </form>  
 
 :hello:


Message édité par didou81 le 20-04-2006 à 17:06:17
Reply

Marsh Posté le 20-04-2006 à 18:16:46    

bah si ya des composants c'est fait pour etre utilisé plutot que d'utiliser des codes d'origine douteuses
c'est tout le principe des composants :x
 
l'anglais c'est pas une option en informatique

Reply

Marsh Posté le 20-04-2006 à 20:56:41    

tu code en ASP et c'est pourtant de l'anglais ?  :heink:  
 
Avec ASPSmartUpload
 

<%
On Error Resume Next
 
'  Variables
'  *********
 
   Dim mySmartUpload
   Dim file
   Dim intCount
   intCount=0
         
'  Création de l'Objet
'  *******************
 
   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload" )
   
'  Autorise uniquement des images gif, jpg ou png
'  **********************************************
 
   mySmartUpload.AllowedFilesList = "gif,jpg,png"
 
'  On peut aussi utiliser DeniedFilesList :
   ' Autorise tous les fichiers sauf: exe, bat et asp
   ' ************************************************
   
   mySmartUpload.DeniedFilesList = "exe,bat,asp,txt"
 
'  Interdit le  path physique
'  **************************
 
   mySmartUpload.DenyPhysicalPath = True
 
'  N'autorise que des images plus petites que 400000 bytes
'  *******************************************************
 
   mySmartUpload.MaxFileSize = 400000
 
'  Interdit l'upload si le total des images est plus grand que 1000000 bytes
'  ************************************************************************
 
   mySmartUpload.TotalMaxFileSize = 1000000
 
'  Upload
'  ******
 
   mySmartUpload.Upload
 
'  Sélectionne chaque image
'  ************************
 
   For each file In mySmartUpload.Files
   
   '  Seulement si l'image existe
   '  ***************************
   
      If not file.IsMissing Then
       
      '  Sauvegarde l'image sous sont nom original avec un path virtuel sur le serveur web
      '  *********************************************************************************
       
         file.SaveAs("Images/" & file.FileName)
         
   '  Affiche les propriétés de l'image courante
      '  ******************************************
       
      Response.Write("<p>Nom = " & file.FileName & "&nbsp; &nbsp; &nbsp;" & "Taille = " & file.Size & "&nbsp; &nbsp; Octets" & "</p>" )
         intCount = intCount + 1
      End If
   Next
   
'  Trap errors
'  ***********
     
 If Err Then
      Response.Write("<b>Erreur de fichiers vous ne pouvez uploader que des images en gif ou jpg de moins de 200 Ko avec une d&eacute;finition de 72 dpi : recommencez !   </b>" & Err.description)
   Else
   
   '  Affiche le nombre d'images uploadées
   '  ************************************
   
      Response.Write("<hr /><p>" & intCount & " image(s) uploadée(s).</p>" )
   End If
 
%>


 
et le formulaire :
 

     <form method="post" action="upload-phot.asp" enctype="multipart/form-data" id="form1">
       <input type="file" name="file1" size="60" id="file1"><br />
          <input type="file" name="file2" size="60" id="file2"><br />
 
       <input type="submit" value="Envoyer la ou les photos" id="Submit1" name="Submit1">
      </form>


Message édité par Flyman30 le 20-04-2006 à 20:58:23
Reply

Marsh Posté le 01-05-2006 à 09:10:19    

Merci flyman.
 
J'ai trouvé ça pour m'aider à l'intaller:
http://www.asp-magazine.com/fr/asp/net/net12.Asp
 
Avant de pouvoir utiliser AspSmartUpload, il faut installer le composant. Le fichier zipper que vous allez télécharger contient 2 dll : AspSmartUpload.dll et AspSmartUploadUtil.dll. Ces deux fichiers sont au préalable à placer dans le répertoire windows\system (windows 9x) ou winnt\system32 (Windows NT) de votre serveur.
 
Mon site n'est pas en ligne et j'aimerai savoir si c'est possible d'essayer cette fonction en local ?

Reply

Marsh Posté le 02-05-2006 à 15:57:29    

Bonjour,
 
La réponse est oui!
C'est comme JMAIL cela fonction avec ton serveur ASP.
Pour ma part c'est un IIS sur Windows XP et cela fonction!
 
Sylvain.

Reply

Marsh Posté le 02-05-2006 à 17:47:45    

:) ça y est, cela fonctionne en local et c'est cool.
Merci.

 
En faite j'upload l'image dans un dossier "Upload" et j'enregistre son nom dans ma base de données.
Ce que je voudrai faire, c'est une fois l'image uploadé, la faire apparaître dans ma page ou une autre page en redirection.
J'essaye de le faire en insérant ce petit bout de code, mais je n'y arrive pas...

 
Si quelqu'un pouvait m'orienter, :pt1cable:  
 
response.write("<tr>" _
  & "<table width=""430"">" _
  & "<tr>" _
  & "<td colspan=""3""><img border=""0"" src=""Upload/" & rs("FILENAME" ) & """></td>" )
 
Et ceci c'est mon script
 
<%
'  Variables
'  *********
   Dim mySmartUpload
   Dim file
   Dim oConn
   Dim oRs
   Dim intCount
   intCount=0
         
'  Object creation
'  ***************
   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload" )
 
'  Upload
'  ******
   mySmartUpload.Upload
 
'  Save the files with their original names in a virtual path of the web server
'  ****************************************************************************
   intCount = mySmartUpload.Save("/pourvue/Upload" )
   ' sample with a physical path  
   ' intCount = mySmartUpload.Save("c:\temp\" )
 
'  Connect to the DB
'  *****************
   Set oConn = Server.CreateObject("ADODB.Connection" )
   curDir = Server.MapPath("\pourvue\base\boutique4.mdb" )
   oConn.Open "DBQ="& curDir &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
 
'  Open a recordset
'  ****************
   strSQL = "SELECT FILENAME,FILE FROM TFILES"
 
   Set oRs = Server.CreateObject("ADODB.recordset" )
   Set oRs.ActiveConnection = oConn
   oRs.Source = strSQL
   oRs.LockType = 3
   oRs.Open
 
'  Select each file
'  ****************
   For each file In mySmartUpload.Files
   '  Only if the file exist
   '  **********************
      If not file.IsMissing Then
 
      '  Add the current file in a DB field
      '  **********************************
         oRs.AddNew
         
   oRs("FILENAME" ) = file.FileName
         oRs.Update
      End If
   Next
 
'  Montrez le nombre de dossiers téléchargement
'  ************************************
   if intcount=0 then
   Response.Write(" Sélectionner une photo.<BR>" )
   End If
   if intcount=1 then
   response.redirect "upload3.asp"
   End If
   
 
'  Destruction
'  ***********
   oRs.Close
   oConn.Close
   Set oRs = Nothing  
   Set oConn = Nothing  
%>

Reply

Marsh Posté le 02-05-2006 à 17:55:47    

Bonsoir,
 
Que te donne un Response.Write de RS( "FILENAME" ) ???
 
Sylvain.

Reply

Marsh Posté le 02-05-2006 à 17:55:47   

Reply

Marsh Posté le 02-05-2006 à 23:58:19    

Merci sylvain. ;)  
J'y suis arrivé comme ceci:

 
response.write("<td colspan=""3""><img border=""0"" src=""Upload/" & ors("FILENAME" ) & """></td>" )
 
Maintenant l'image uploadé apparaît bien sur ma page, mais elle occupe tout l'écran, il va falloir que je la redimensionne avant l'affichage... :cry:
 
++

Reply

Marsh Posté le 08-05-2006 à 21:00:14    

didou81 a écrit :

Merci sylvain. ;)  
J'y suis arrivé comme ceci:

 
response.write("<td colspan=""3""><img border=""0"" src=""Upload/" & ors("FILENAME" ) & """></td>" )
 
Maintenant l'image uploadé apparaît bien sur ma page, mais elle occupe tout l'écran, il va falloir que je la redimensionne avant l'affichage... :cry:
 
++


 
Le mieux c'est quand même de la redimensioner AVANT de l'uploader  :o  

Reply

Marsh Posté le 09-05-2006 à 09:08:36    

Oui, je sais ;) , je vais certainnement le corriger, j'ai trouvé une source pour redimensionner l'image,
http://www.asp-php.net/scripts/asp-php/aspimgredim.php
Cela fonctionne bien, mais je n'ai pas encore essayé de redimensionner avant l'upload.
++

Reply

Marsh Posté le 09-05-2006 à 18:15:02    

didou81 a écrit :

Oui, je sais ;) , je vais certainnement le corriger, j'ai trouvé une source pour redimensionner l'image,
http://www.asp-php.net/scripts/asp-php/aspimgredim.php
Cela fonctionne bien, mais je n'ai pas encore essayé de redimensionner avant l'upload.
++


 
Ben ça ne t'ai pas venu à l'idée que de redimentionner AVANT ça irai mieux pour le serveur et que ça irai plus vite à uploader ???  :sarcastic:

Reply

Marsh Posté le 09-05-2006 à 20:00:20    

Dis donc Flyman, tu me prendrais pas pour un lapin de 3 semaines par hasard   :na:  (lol)
Evidemment, J'y ai pensé.
Pour mon projet au départ il me fallait une bonne qualité de la photo.
Maintenant ce n'est plus du tout le cas, car je n'ai pas le niveau pour réaliser ce que je veux faire  :cry: .
Malheureusement, je ne suis pas développeur moi.
Mais merci pour tes réponses, vilain  :D  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed