C#webbrowser未显示更新结果

时间:2012-11-07 12:59:42

标签: c# browser ftpwebrequest

嘿伙计们我在使用webbrowser时遇到麻烦或者可能是ftp ..我正在上传一张图片,当我浏览webbrowser时它会向我显示旧照片,但是我上传的图片会进入ftp并被覆盖..继承人代码

 webBrowser1.Refresh(WebBrowserRefreshOption.Completely);
        webBrowser1.Navigate("www.google.com");
        openFileDialog1.ShowDialog();
        string filename = Path.GetFullPath(openFileDialog1.FileName);

        FileInfo toUpload = new FileInfo(@"upload.jpg");
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://fingercube.co.cc/public_html/objimg/" + toUpload.Name);
        request.Method = WebRequestMethods.Ftp.UploadFile;
        request.Credentials = new NetworkCredential("username", "pass");
        Stream ftpStream = request.GetRequestStream();
        FileStream file = File.OpenRead(filename);
        int lenght = 2;
        byte[] buffer = new byte[lenght];
        int bytesRead = 0;
        do
        {
            bytesRead = file.Read(buffer, 0, lenght);
            ftpStream.Write(buffer, 0, bytesRead);
        }

        while (bytesRead != 0);
        file.Close();
        ftpStream.Close();


       webBrowser1.Navigate("http://fingercube.co.cc/objimg/"+toUpload.Name);

每次都会向我显示旧照片..但每次都会上传照片! :(

3 个答案:

答案 0 :(得分:1)

如果缓存建议不起作用,请尝试执行以下操作。

this.webBrowser1.Navigate("about:blank");
HtmlDocument doc = this.wbbFinalise.Document;
doc.Write(string.Empty);

然后导航到您的ftp位置。

我尝试在Web浏览器中刷新本地生成的HTTP页面时遇到了类似的问题,这解决了这个问题。

答案 1 :(得分:0)

图像缓存到IE缓存。在刷新控件之前,必须清除缓存。看看这里:http://www.gutgames.com/post/Clearing-the-Cache-of-a-WebBrowser-Control.aspx

此外,关于SO的相关问题:WebBrowser control caching issue

答案 2 :(得分:-1)

得到了解决方案..问题在于缓存容易解决方案是每次都提出新的请求。