0

こんにちは、
このコードをエラーなしで動作させると、ファイルがダウンロードされました。
これで、アクセス許可エラーが発生
します。ウィンドウに表示されるはずのacesscontrolポップアップが表示されません。
とにかく、
どうすればこのコードを取得してファイルをダウンロードできますか?

WebClient request = new WebClient();
request.Credentials = new NetworkCredential(txtFTPuser.Text, txtFTPpassword.Text);
byte[] fileData = request.DownloadData(fullDownloaPath);//dnoces.dreamhost.com
FileSecurity security = File.GetAccessControl(downloadTo);

FileSystemAccessRule rule = new FileSystemAccessRule(@"BUILTIN\Users", 
    FileSystemRights.FullControl, AccessControlType.Allow);

File.SetAccessControl(downloadTo, security);
try
{
    FileStream f = File.Create(downloadTo/*+@"\"+file*/);
    f.Write(fileData, 0, fileData.Length);
    f.Close();
    MessageBox.Show("Completed!");
}
catch(Exception e)
{
    MessageBox.Show(e.Message);
}
4

1 に答える 1

1

'downloadTo'変数には何がありますか?私はあなたのコードに少し混乱しています。GetAccessControl()を実行できるので、フォルダが含まれている必要があると思います。それがあなたのファイルであるならば、それはまだ存在しないので失敗するでしょう。

しかし、その後、コードは続行されます

FileStream f = File.Create(downloadTo/*+@"\"+file*/);

/ * * /を書いたので、'file'変数はコメント化されています。これにより、downloadToはファイル名を含むフルパスを含む必要があると思います。

宛先ファイルをハードコーディングしてみてください。

(例:FileStream f = File.Create(@ "c:\\ users \\ your user \\ myfile.bin");

私があなたのコードを解釈できる限り、あなたはファイル名を指定せずにそのようにフォルダに書き込もうとしています。

于 2011-10-10T18:11:34.490 に答える