1

我可以通过 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
4

1 回答 1

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"))
于 2013-06-07T19:22:25.150 回答