文件权限(写)

时间:2011-10-09 12:26:08

标签: c# winforms webclient permission-denied

您好,
一旦我得到这个代码来处理任何错误,它就下载了文件 现在它给了我许可错误,
我没有得到窗口应显示的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);
}

1 个答案:

答案 0 :(得分:1)

'downloadTo'变量中有什么内容?我对你的代码感到有些困惑。由于您可以执行GetAccessControl(),我认为它必须包含您的文件夹。如果它是您的文件,它将失败,因为它还不存在。

然后您的代码继续

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

因为你写了/ * * /你的'file'变量被注释,这让我假设downloadTo而不是必须包含完整的路径,包括文件名。

您可以尝试对目标文件进行硬编码吗?

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

据我解释你的代码,你试图在不指定文件名的情况下写入文件夹。