1

Webサイトからファイルをダウンロードする際に問題が発生しました。

ユーザーはテキストボックス(例:hello.html)に入力し、ボタンをクリックしてhtmlファイルをダウンロードできます。今私の問題は次のとおりです。ファイル「hello.html」が存在しない場合でも、私のコードはそれをダウンロードする傾向があります。フォルダに「index.html」ファイルが表示されます。ファイルが存在しない場合にダウンロードしないようにコードに指示できるように、「if」ステートメントを作成するにはどうすればよいですか?

私のコード:

if (FILE NOT EXIST ON THE WEBSITE)
         {
              //MessageBox.Show("There is no such file on the website. Please check your spelling.");             
         }
         else
         {
              client.DownloadFile("http://example.com/" + txtbox.Text.ToUpper().ToString(),
                                                sourceDir + txtbox.Text.ToUpper().ToString() + ".html");
         }

どうもありがとう。

4

1 に答える 1

1

System.IO.File.Exists(fpath)はChromeとFirefoxでfalseを返します

if (File.Exists(fileLocation))
{ 
    // Download File!
}

その問題はアップロードに固有ですが、同じ概念です。

また:

直接取得: http: //www.dotnetthoughts.net/how-to-check-remote-file-exists-using-c/

このメソッドをクラスに追加します。

private bool RemoteFileExists(string url)
{
    try
    {
        //Creating the HttpWebRequest
        HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
        //Setting the Request method HEAD, you can also use GET too.
        request.Method = "HEAD";
        //Getting the Web Response.
        HttpWebResponse response = request.GetResponse() as HttpWebResponse;
        //Returns TURE if the Status code == 200
        return (response.StatusCode == HttpStatusCode.OK);
    }
    catch
    {
        //Any exception will returns false.
        return false;
    }
}

次に、ファイルがURLに存在するかどうかを確認する場合は、次を使用します。

if (RemoteFileExists("http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png")
{
    //File Exists
}
else
{
    //File does not Exist
}
于 2012-09-20T22:45:54.370 に答える