c#ftp文件进入目录返回无访问权限

时间:2011-02-17 12:35:13

标签: c# ftp ftpwebrequest

public static void uploadMethod2()
        {
            FileInfo toUpload = new FileInfo("0000000002.csv");
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.myftp.co.uk/" + toUpload.Name);
            request.Method = WebRequestMethods.Ftp.UploadFile;
            request.Credentials = new NetworkCredential("user", "password");
            **Stream ftpStream = request.GetRequestStream();**
            FileStream file = File.OpenRead("0000000002.csv");
            int length = 1024;
            byte[] buffer = new byte[length];
            int bytesRead = 0;
            do
            {
                bytesRead = file.Read(buffer, 0, length);
                ftpStream.Write(buffer, 0, bytesRead);
            }
            while (bytesRead != 0);
            file.Close();
            ftpStream.Close();
            Console.WriteLine("done");
        }

我从msdn得到了上面的代码但是我对webrequest.create行有点困惑。我把星星放在周围的行返回错误'无法访问或找不到文件',我希望因为目录中还没有名为0000000002.csv的文件,但在msdn网站上它说要添加我要上传的文件以及ftp网址。香港专业教育学院尝试没有附加到网址的文件名,但这显示'请求的URI对此FTP命令无效'错误。香港专业教育学院在浏览器中尝试过凭证(上例中的凭证当然不是实际凭证),我明确地允许我访问该目录。有任何想法吗?任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

我认为您需要在对文件进行任何操作之前使用FileAccess枚举器检查目录访问权限。如果它只是Read,则使用FileAttributes将目录属性设置为Normal。

FileAttributes.Normal

希望这能帮到你