tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル FTPのGetFileSizeでエラーがでる
投稿日: 2010/04/27(Tue) 13:31
投稿者AMI
現在VB2005で、FTPソフトを作成しています。
アップロードされている、ファイルサイズを取得するという
単純なものです。

状況が、Aプロバイダ・Bプロバイダとあり、
同じソースで、Aでは正常に取得できますが、
Bでしますと、エラーになり、
エラー番号が「5」
メッセージが
「リモート サーバーがエラーを返しました: (550) ファイルが使用できません (例: ファイルが見つからない、ファイルへのアクセスがない)」
というエラーメッセージが表示されます。
プロバイダにより使えるコマンドがちがうのでしょうか?
ちなみにA・Bともに同じ構成、ファイルアクセス権限で設定しております。

それとファイルサイズを取得する設定
        'ftpReq.Method = System.Net.WebRequestMethods.Ftp.GetFileSize

        ftpReq.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails
に変更すると、そればともにエラーがでずにファイル構成を取得できます。


        Dim u As New Uri("ftp://xxx.ne.jp/www/12.log")

        'FtpWebRequestの作成
        Dim ftpReq As System.Net.FtpWebRequest = _
            CType(System.Net.WebRequest.Create(u), System.Net.FtpWebRequest)
        'ログインユーザー名とパスワードを設定
        ftpReq.Credentials = New System.Net.NetworkCredential("XXXX", "○○○")
        'MethodにWebRequestMethods.Ftp.ListDirectoryDetails("LIST")を設定
        ftpReq.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails
        'ftpReq.Method = System.Net.WebRequestMethods.Ftp.GetFileSize
        '要求の完了後に接続を閉じる
        ftpReq.KeepAlive = False
        'PASSIVEモードを無効にする
        ftpReq.UsePassive = False

        'FtpWebResponseを取得
        Dim ftpRes As System.Net.FtpWebResponse = _
            CType(ftpReq.GetResponse(), System.Net.FtpWebResponse)
        'FTPサーバーから送信されたデータを取得
        Dim sr As New System.IO.StreamReader(ftpRes.GetResponseStream())
        Dim res As String = sr.ReadToEnd()
        Dim lngFileSize As Long = ftpRes.ContentLength
        'ファイル一覧を表示
        Console.WriteLine(res)
        Label1.Text = res

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。