[ASP 3.0] Vérifier les dimensions d'une image [Résolu]

Vérifier les dimensions d'une image [Résolu] [ASP 3.0] - ASP - Programmation

Marsh Posté le 19-05-2004 à 11:37:02    

Bah voila,
 
Apres moulte aventure, surtout au niveau des droits sur le serveur (cet admin rezo est vraiment une merde, enfin bref!), les utilisateur de mon appli peuvent uploader leur photos.
 
Mais je souhaite que leur photos ne dépassent 100x100 pixels
Alors 2 questions:
- Comment je peux vérifier ça ?
- Suis je obligé de vérifier la taille apres l'avoir uploadé sur le serveur ou puis je le faire du poste client ?
 
Encore merci de votre aide :jap:  
See ya, Exca


Message édité par !cricri le 24-05-2004 à 15:34:32
Reply

Marsh Posté le 19-05-2004 à 11:37:02   

Reply

Marsh Posté le 19-05-2004 à 11:41:27    

si tu veux le faire sur le client, ca sera pas en asp (serveur) mais en javascript (client)


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 19-05-2004 à 12:42:45    

3xc4l18ur a écrit :

Bah voila,
 
Apres moulte aventure, surtout au niveau des droits sur le serveur (cet admin rezo est vraiment une merde, enfin bref!), les utilisateur de mon appli peuvent uploader leur photos.
 
Mais je souhaite que leur photos ne dépassent 100x100 pixels
Alors 2 questions:
- Comment je peux vérifier ça ?
- Suis je obligé de vérifier la taille apres l'avoir uploadé sur le serveur ou puis je le faire du poste client ?
 
Encore merci de votre aide :jap:  
See ya, Exca


 
Si tu le fait avec ASPSmartupload c'est dans le script !
 

Code :
  1. '  Autorise uniquement des images gif, jpg ou png
  2. '  **********************************************
  3.    mySmartUpload.AllowedFilesList = "gif,jpg,png"
  4. '  On peut aussi utiliser DeniedFilesList :
  5.    ' Autorise tous les fichiers sauf: exe, bat et asp
  6.    ' ************************************************
  7.  
  8.    mySmartUpload.DeniedFilesList = "exe,bat,asp,txt"
  9. '  Interdit le  path physique
  10. '  **************************
  11.    mySmartUpload.DenyPhysicalPath = True
  12. '  N'autorise que des images plus petites que 200000 bytes
  13. '  *******************************************************
  14.    mySmartUpload.MaxFileSize = 200000
  15. '  Interdit l'upload si le total des images est plus grand que 800000 bytes
  16. '  ************************************************************************
  17.    mySmartUpload.TotalMaxFileSize = 800000


Reply

Marsh Posté le 19-05-2004 à 12:44:33    

mais avant de l'uploader... je la lis bien quelque part?
Dans ce quelque part je dois bien pouvoir regarder la taille de l'image, non ?

Reply

Marsh Posté le 19-05-2004 à 12:47:27    

non Flyman30... je parle des dimension et non du poids de l'image. Merci quand même :jap:

Reply

Marsh Posté le 19-05-2004 à 17:12:27    

Reply

Marsh Posté le 19-05-2004 à 22:54:07    

Code :
  1. Function GetPicSize (fn)
  2.     Set fso = CreateObject("Scripting.FileSystemObject" )
  3.     If fso.FileExists(Server.MapPath(fn)) = False Then Exit Function
  4.     pn = Server.MapPath(fn)
  5.     tstr = ""
  6.     Set f = fso.OpenTextFile(pn)
  7.     Select Case UCase(Right(fn,4))
  8.     Case ".GIF",".JPG"
  9.         If Not f.AtEndOfStream Then
  10.             If UCase(Right(fn,4))=".GIF" Then
  11.                 chars       = f.read(10)
  12.                 width       = Asc(Mid(chars,8,1))*256 + Asc(Mid(chars,7,1))
  13.                 height  = Asc(Mid(chars,10,1))*256 + Asc(Mid(chars,9,1))
  14.                 hw = " WIDTH=" & width & " HEIGHT=" & height
  15.             Else
  16.                 chars       = f.read(200)
  17.                 height  = Asc(Mid(chars,164,1))*256 + Asc(Mid(chars,165,1))
  18.                 width       = Asc(Mid(chars,166,1))*256 + Asc(Mid(chars,167,1))
  19.                 If (height>600) Or (height<3) Or (WIDTH<3) Or (WIDTH>600) Then
  20.                 Else
  21.                     hw = " WIDTH=" & width & " HEIGHT=" & height
  22.                 End If
  23.             End If
  24.         End If
  25.         GetPicSize = "W : " & width & " H :" & height
  26.     End Select
  27.     f.Close
  28.     Set f = Nothing
  29.     Set fso = Nothing
  30. End Function


 
;)

Reply

Marsh Posté le 19-05-2004 à 23:24:15    

oui j'ai trouvé ce code aussi ;)
Mais je vais récupitulé...
J'ai un formulaire avec un input de type file....  
Mon image ne devrait jamais depassé 100x100 (ce script me permet de le vérifier) mais le probleme c'est qu'il vérifie le format d'une image sur le  serveur... Moralité upload puis vérification :/
 
Moi je chercherai plutot une solution du genre verification et si OK alors upload... Mais bon si c'est pas possible, je vais me résigné
 
Merci a tous

Reply

Marsh Posté le 19-05-2004 à 23:37:13    

3xc4l18ur a écrit :

oui j'ai trouvé ce code aussi ;)
Mais je vais récupitulé...
J'ai un formulaire avec un input de type file....  
Mon image ne devrait jamais depassé 100x100 (ce script me permet de le vérifier) mais le probleme c'est qu'il vérifie le format d'une image sur le  serveur... Moralité upload puis vérification :/
 
Moi je chercherai plutot une solution du genre verification et si OK alors upload... Mais bon si c'est pas possible, je vais me résigné
 
Merci a tous


 
Salut !
 
moi aussi j'ai le même problème que toi !
je c qu'en PHP c possible de le faire mais en ASP, ché pas !
si tu as une solution, je suis preneur !! :)

Reply

Marsh Posté le 20-05-2004 à 13:00:22    

nany montre ta solution php  
Qui sait ca pourrait aider

Reply

Marsh Posté le 20-05-2004 à 13:00:22   

Reply

Marsh Posté le 20-05-2004 à 13:37:29    

3xc4l18ur a écrit :

nany montre ta solution php  
Qui sait ca pourrait aider


 
Voilà mon code en php :
 
$repertoire = "images/";//répertoire dans lequel les images vont être transférées
$file_nom = $_FILES["Image"]["name"];//récupère le nom de l'image
$file_taille = $_FILES["Image"]["size"];//récupère la taille de l'image
list($img_name,$img_ext) = explode(".", $file_nom);sépare le nom et l'extention de l'image
list($largeur,$hauteur) = getimagesize($Image);//récupère la dimension de l'image
$num_id = mysql_insert_id();//récupère l'identifiant
     
if((eregi("jpeg", $img_ext) || eregi("jpg", $img_ext) || eregi("gif", $img_ext)) && ($file_size<=10000) && ($largeur<=160) && ($hauteur<=100)) //vérifie l'extention, la taille et la dimension de l'image  
{   // eregi recherche une ou plusieur lettre dans un mot sans ce soucier de la casse
$newimg_name =  $num_id."_".$file_nom;
$sql_img = "UPDATE activite SET Image = '".$file_nom."' WHERE id='".$num_id."'"; //mise à jour du nom de l'image dans la base de donnée
mysql_query($sql_img) or die('Erreur SQL !'.$sql_img.'<br>'.mysql_error());
     
if(is_uploaded_file($_FILES["Image"]["tmp_name"]))
{
if (rename($_FILES["Image"]["tmp_name"],$repertoire.$newimg_name))
echo "<center><font color='white'><b>$Civilite $NomPers </b>vos informations ont bien été ajoutées.</font></center>
          <meta http-equiv='refresh' content='3; URL=index.php'>";
mysql_close();
}
else
{
$delete="DELETE FROM activite WHERE id='".$num_id."'"; //efface les données dans la base de donnée
mysql_query($delete) or die('Erreur SQL !'.$delete.'<br>'.mysql_error());  
echo "<center>
<font color='white'>Le transfert à échoué !
</font><br><br>
<input type='button' value='Ok' name='Précédent' onclick='history.go(-1)'>
</center>
";
mysql_close();
}
}
else
{
$delete="DELETE FROM activite WHERE id='".$num_id."'";
mysql_query($delete) or die('Erreur SQL !'.$delete.'<br>'.mysql_error());  
echo "<center>
<font color='white'>L'image est incorrecte !
<br>
<br>Taille : $file_taille octets
<br>Dimension : $largeur x $hauteur
<br>Format : $img_ext
</font>
<br><br>
<input type='button' value='Ok' name='Précédent' onclick='history.go(-1)'>
</center>
";
mysql_close();
}
 
 
J'espère que ça t'aidera et que tu comprendras !!! :d

Reply

Marsh Posté le 20-05-2004 à 13:42:44    

3xc4l18ur a écrit :

oui j'ai trouvé ce code aussi ;)
Mais je vais récupitulé...
J'ai un formulaire avec un input de type file....  
Mon image ne devrait jamais depassé 100x100 (ce script me permet de le vérifier) mais le probleme c'est qu'il vérifie le format d'une image sur le  serveur... Moralité upload puis vérification :/
 
Moi je chercherai plutot une solution du genre verification et si OK alors upload... Mais bon si c'est pas possible, je vais me résigné
 
Merci a tous


Dans ce cas là tu dois vérifier en JS, par contre là  :heink:, je ne sais pas...

Reply

Marsh Posté le 20-05-2004 à 21:29:06    

merci de cette confirmation Gfreeman... je vais chercher comment faire en JS... bien que j'y connaisse pas grand chose
 
Merci Nany

Reply

Marsh Posté le 24-05-2004 à 12:48:32    

Reply

Marsh Posté le 24-05-2004 à 13:06:55    

Reply

Marsh Posté le 24-05-2004 à 14:56:05    

BAh voila,  
il y a un petit mec qui a fait ca!
http://excalibursworld.free.fr/asp [...] gClass.zip
 
pour savoir comment ca marche !
http://www.asp-php.net/scripts/asp-php/aveimgclass.php
 
J'ai pas encore testé mais ALLEZ ON Y CROIT!
 
Je motiv! Quelqu'un trinque avec moi ? [:buvons]

Reply

Marsh Posté le 24-05-2004 à 15:35:01    

Elle rox un max cette class :D

Reply

Marsh Posté le 24-05-2004 à 18:01:37    

3xc4l18ur a écrit :

Elle rox un max cette class :D


 
je vois que tu te sert de mes liens  ;)

Reply

Marsh Posté le 24-05-2004 à 18:15:43    

3xc4l18ur a écrit :

Elle rox un max cette class :D


Le problème reste le méme, tu dois avoir le fichier sur le serveur pour avoir la taille de ton image. En plus, le traitement de cette classe est assez long..

Reply

Marsh Posté le 24-05-2004 à 21:00:34    

oui mais au moins j'ai une solution!
ca me permet d'avancé dans mon projet en attendant!

Reply

Sujets relatifs:

Leave a Replay

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