如何通过WebClient下载图像

时间:2013-06-07 16:30:51

标签: vb.net caching webclient picturebox

我可以通过webclient下载图片并在图片框上成功绘画。但我的问题是如何避免使用缓存系统从网上重新下载相同的图像。但我不想把它保存到我的牧群盘中。

我的代码是:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim wc As New System.Net.WebClient
    Dim ImageInBytes() As Byte = wc.DownloadData(TextBox1.Text)
    Dim ImageStream As New IO.MemoryStream(ImageInBytes)

    PictureBox1.Image = New System.Drawing.Bitmap(ImageStream)
    PictureBox1.Refresh()
End Sub

1 个答案:

答案 0 :(得分:0)

我相信WebClient不支持使用缓存。

您可以尝试检查图像大小,如果有不同的下载,请使用您已下载的图像。

此代码将获取图像大小,而不下载它:

Dim wc As System.Net.WebClient = New System.Net.WebClient
wc.OpenRead("http://example.com/ex.png")
Dim bytes_total As Int64 = Convert.ToInt64(wc.ResponseHeaders("Content-Length"))