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 Webサイトでは、アップロードしたいファイルを追加するように指示されていますftp URL とともに。URLにファイル名を追加せずに試してみましたが、「要求されたURIはこのFTPコマンドに対して無効です」というエラーが表示されます。ブラウザーで資格情報を試してみましたが (上記の例のものはもちろん実際の資格情報ではありません)、間違いなくディレクトリへのアクセス権を与えてくれます。何か案は?どんな助けでも大歓迎です:)