- PR -

[FTP]FTPでサーバーのディレクトリ存在確認

1
投稿者投稿内容
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2006-11-29 11:53
こんにちは。
いつもこちらで勉強させていただいております。

今日はFTPでのディレクトリ存在確認について伺いたくて書き込みをしました。
・VB.NET2005(FrameWork2.0) Winアプリ

現在クライアントからFTPでサーバーにファイルをアップしようとしています。
そこで、ファイルをアップする際に、もし対象のディレクトリが存在しなかった場合はExceptionが起こってしまうので、ファイルをアップする前にまずディレクトリをFTPで作るようにしています。
(以下ディレクトリ作成のソース)
---------------------------------------------------------------------
Dim req As WebRequest = WebRequest.Create("ftp://Test/TestDirectory)
req.Credentials = New NetworkCredential("ID", "パスワード")
req.Method = WebRequestMethods.Ftp.MakeDirectory
Dim res As WebResponse = req.GetResponse()
  ・
  ・
  ・
---------------------------------------------------------------------

しかし、作ろうとしているディレクトリがすでに存在している場合、

"リモート サーバーがエラーを返しました: (550) ファイルが使用できません (例: ファイルが見つからない、ファイルへのアクセスがない)"

というエラーが発生してしまいます。

そこで、ディレクトリを作成する前にFTPでディレクトリの存在確認をしたいのですが、その方法がわからず書き込みをさせていただいた次第です。。

もし、ご存知の方がいらっしゃいましたらお手数ですがご教授いただけないでしょうか。よろしくお願いいたします。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2006-11-29 12:26
WebRequestMethods.Ftp.ListDirectoryかWebRequestMethods.Ftp.ListDirectoryDetailsでディレクトリの一覧を取得し、
対象のディレクトリが存在するかどうかチェックしてみては?
新人S
ベテラン
会議室デビュー日: 2005/10/12
投稿数: 74
投稿日時: 2006-11-29 15:05
かずくんさんお返事ありがとうございます。

かずくんさんから教えていただいたとおり、ディレクトリ内のリストを取得して
その一覧の中から対象ディレクトリが存在するかどうか、という方法で実装して期待通りの動きをすることを確認しました。

かずくんさんありがとうございます、
とても助かりました!!

今後ともよろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)