0

你好,
一旦我得到这个代码没有任何错误,它就下载了文件。
现在它给了我一个权限错误,
我没有弹出该窗口应该显示的访问控制。
无论如何,
我怎样才能得到这个代码来下载我的文件?

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\\你的用户\\myfile.bin");

据我所知,您试图在不指定文件名的情况下写入文件夹。

于 2011-10-10T18:11:34.490 回答