0
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コマンドに対して無効です」というエラーが表示されます。ブラウザーで資格情報を試してみましたが (上記の例のものはもちろん実際の資格情報ではありません)、間違いなくディレクトリへのアクセス権を与えてくれます。何か案は?どんな助けでも大歓迎です:)

4

1 に答える 1

0

ファイルに対する操作の前に、FileAccess列挙子を使用してディレクトリアクセスを確認する必要があると思います。読み取りのみの場合は、FileAttributes を使用してディレクトリ属性を Normal に設定します。

FileAttributes.Normal

これがあなたを助けることを願っています

于 2011-02-17T13:50:10.723 に答える