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命令无效'错误。香港专业教育学院在浏览器中尝试过凭证(上例中的凭证当然不是实际凭证),我明确地允许我访问该目录。有任何想法吗?任何帮助将不胜感激:)
答案 0 :(得分:0)
我认为您需要在对文件进行任何操作之前使用FileAccess枚举器检查目录访问权限。如果它只是Read,则使用FileAttributes将目录属性设置为Normal。
FileAttributes.Normal
希望这能帮到你