3

ウェブブラウザに問題があるか、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 に答える