3

我在使用 webbrowser 时遇到问题,或者可能是 ftp。我正在上传一张图片,当我浏览网络浏览器时,它会向我显示旧照片,但我上传的图片会到达 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);

它每次都向我显示旧照片,但每次都上传照片。:(

4

3 回答 3

1

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

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

然后导航到您的 ftp 位置。

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

于 2012-11-07T16:13:51.887 回答
0

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

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

于 2012-11-07T13:09:01.280 回答
-1

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

于 2012-11-18T13:15:52.577 回答