1

FTP サーバーからダウンロードし、そのファイルを更新されたファイルで上書きしようとすると、「UnauthorizedAccessException が処理されました」という例外が発生します。パス 'C:\My Program\My Program\bin\Debug\ へのアクセスApp_Data' が拒否されました。

これは私のコードがどのように見えるかです:

private void downloadFile () {
    WebClient wc = new WebClient();
    wc.Proxy = null;
    wc.Credentials  = new NetworkCredential("user", "pass");

    byte[] fileData = wc.DownloadData("ftp://user:pass@mysite.tk/updates/App_Data/log.txt");
    File.WriteAllBytes(Application.StartupPath + "\\App_Data", fileData);   
}

WebClient「File.WriteAllBytes」が FTP サーバーからダウンロードしているファイルをローカル マシンに書き込むことができるように、インスタンスに設定するものが不足しているだけですか?

4

1 に答える 1

1

考えてみれば、これは明らかに とは何の関係もありませんWebClient。から取得したのと同じバイト シーケンスを取得しWebClient、それを同じファイルに書き込もうとすると、同じ結果が得られます。

実際、1 バイトを書き込もうとした場合、おそらく同じ結果が得られますが、0 バイトの場合もあります。

例外が言うように、

パス 'C:\My Program\My Program\bin\Debug\App_Data' へのアクセスが拒否されました

App_Dataフォルダも存在しますか?

于 2013-04-25T01:49:02.690 に答える