begin process at 2008 07 20 10:24:42
1 213 168 membres
87 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ASP.NET - SAUVEGARDER UNE IMAGE À PARTIR D'UNE URL


Information sur la source

Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous : webrequest, image, systemdrawing, resize, jpeg Niveau : Initié Date de création : 18/05/2004 Vu : 7 126

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


Description

Dans certain cas, on peut vouloir sauvegarder une image à partir de l'URL permettant de l'avoir sur un site WEB (http://www.monsite.com/monimage.jpg).

Cette petite fonction vous donnera cela simplement en enregistrant au format JPEG.

Source

  • ' La Procédure est en privé car inclue dans une classe interne de mon projet
  • ' -----------------------------------------------------
  • Private Sub EnregistreImage(ByVal URLImage As String, ByVal CheminDestImage As String)
  • Dim myRequest As System.Net.HttpWebRequest
  • Dim myResponse As System.Net.HttpWebResponse
  • Dim s As System.IO.Stream
  • Dim graphicTemp As System.Drawing.Graphics
  • Dim ImageSource As System.Drawing.Image
  • myRequest = System.Net.WebRequest.Create(URLImage)
  • myResponse = myRequest.GetResponse()
  • s = myResponse.GetResponseStream()
  • ImageSource = System.Drawing.Image.FromStream(s)
  • graphicTemp = System.Drawing.Graphics.FromImage(ImageSource)
  • graphicTemp.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver
  • graphicTemp.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality
  • graphicTemp.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality
  • graphicTemp.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
  • graphicTemp.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality
  • graphicTemp.DrawImage(ImageSource, 0, 0, ImageSource.Size.Width, ImageSource.Size.Height)
  • graphicTemp.Dispose()
  • ImageSource.Save(CheminDestImage, System.Drawing.Imaging.ImageFormat.Jpeg)
  • ImageSource.Dispose()
  • s.Close()
  • myResponse.Close()
  • End Sub
  • ' -----------------------------------------------------
' La Procédure est en privé car inclue dans une classe interne de mon projet

' -----------------------------------------------------
Private Sub EnregistreImage(ByVal URLImage As String, ByVal CheminDestImage As String)
 Dim myRequest As System.Net.HttpWebRequest
 Dim myResponse As System.Net.HttpWebResponse
 Dim s As System.IO.Stream
 Dim graphicTemp As System.Drawing.Graphics

 Dim ImageSource As System.Drawing.Image

 myRequest = System.Net.WebRequest.Create(URLImage)
 myResponse = myRequest.GetResponse()
 s = myResponse.GetResponseStream()


 ImageSource = System.Drawing.Image.FromStream(s)
 graphicTemp = System.Drawing.Graphics.FromImage(ImageSource)

 graphicTemp.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver
 graphicTemp.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality
 graphicTemp.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality
 graphicTemp.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
 graphicTemp.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality

 graphicTemp.DrawImage(ImageSource, 0, 0, ImageSource.Size.Width, ImageSource.Size.Height)
 graphicTemp.Dispose()

 ImageSource.Save(CheminDestImage, System.Drawing.Imaging.ImageFormat.Jpeg)
 ImageSource.Dispose()

 s.Close()
 myResponse.Close()
End Sub

' -----------------------------------------------------

Conclusion

Bon Coding.

Romelard Fabrice (Alias F___)
  • signaler à un administrateur
    Commentaire de lulu1708 le 08/11/2004 17:06:16

    Bonjour fabrice69,

    je suis coincé sur un projet : je cherche à faire la chose suivante :

    placer temporairement dans mon buffer le code binaire de l'image source (GIF ou JPEG) d'un site distant afin d'enchainer sur un stockage en BDD SQL.
    Or je ne souhaite pas procéder à l'enregistrement de l'image sur le disque serveur.

    Sur la partie de stockage, ca va, mais je coince sur la mise en mémoire de l'image.

    Pourrais-tu m'aider ??

    Merci

    lulu

  • signaler à un administrateur
    Commentaire de bali_s0ng le 04/02/2005 14:54:45

    j'ai testé ce code ce code mais je me retrouve avec l'erreur suivante

    Détails de l'exception: System.Exception: Un objet Graphics ne peut pas être créé à partir d'une image au format pixel indexé.


    quelqu'un sait ce que ca veut dire? une solution?

  • signaler à un administrateur
    Commentaire de ms3i le 09/08/2007 23:53:12

    Vraiment super top comme code.
    Il fonctionne très bien, c'est juste ce qu'il me fallais Merci beaucoup.

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS