DOBON.NETプログラミング道掲示板
(現在 過去ログ2 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■33685 / inTopicNo.1)  FTPにてリモート サーバーがエラーを返しました: (550)
  
□投稿者/ タカノハ 一般人(1回)-(2017/10/02(Mon) 21:44:33)
  • アイコン環境/言語:[Windows 7 64bit VisualStudio2010] 
    分類:[.NET] 

    いつもお世話になっております。
    どうしても自己解決できずにご相談です。

    以下のサイトを参考に
    http://dobon.net/vb/dotnet/internet/ftpwebrequest.html


    以下のソースでFTPを実装しております。
    今まで、社内のSV,社外のレンタルSV等つながっていたのですが、
    今回、クライアントのサーバーにアクセスすると
    「リモート サーバーがエラーを返しました: (550) ファイルが使用できません (例: ファイルが見つからない、ファイルへのアクセスがない)」
    とのエラーが出てしまいます。

    NextFTP、ブラウザなどからは、設定したID、PWにて正常にアクセスできます。
    調べた時に出てきた、"ftp://111.222.333.444//******/test.txt")なども試しましたがうまく行きませんでした。

    その他、PASVモードのon\off、、ftpReq.Proxy = Nothingなど試しましたがエラーメッセージすら変わりませんでした。
    情報をお持ちな方がいらっしゃいましたらご教示頂きたくよろしくお願いいたします。。


    'アップロードするファイル
    Dim upFile As String = "C:\test.txt"
    'アップロード先のURI
    Dim u As New Uri("ftp://111.222.333.444/******/test.txt")

    'FtpWebRequestの作成
    Dim ftpReq As System.Net.FtpWebRequest = _
    CType(System.Net.WebRequest.Create(u), System.Net.FtpWebRequest)
    'ログインユーザー名とパスワードを設定
    ftpReq.Credentials = New System.Net.NetworkCredential("username", "password")
    'MethodにWebRequestMethods.Ftp.UploadFile("STOR")を設定
    ftpReq.Method = System.Net.WebRequestMethods.Ftp.UploadFile
    '要求の完了後に接続を閉じる
    ftpReq.KeepAlive = False
    'ASCIIモードで転送する
    ftpReq.UseBinary = False
    'PASVモードを無効にする
    ftpReq.UsePassive = False

    'ファイルをアップロードするためのStreamを取得
    Dim reqStrm As System.IO.Stream = ftpReq.GetRequestStream() ●ここでエラー
    'アップロードするファイルを開く
    Dim fs As New System.IO.FileStream( _
    upFile, System.IO.FileMode.Open, System.IO.FileAccess.Read)
    'アップロードStreamに書き込む
    Dim buffer(1023) As Byte
    While True
    Dim readSize As Integer = fs.Read(buffer, 0, buffer.Length)
    If readSize = 0 Then
    Exit While
    End If
    reqStrm.Write(buffer, 0, readSize)
    End While
    fs.Close()
    reqStrm.Close()

    'FtpWebResponseを取得
    Dim ftpRes As System.Net.FtpWebResponse = _
    CType(ftpReq.GetResponse(), System.Net.FtpWebResponse)
    'FTPサーバーから送信されたステータスを表示
    Console.WriteLine("{0}: {1}", ftpRes.StatusCode, ftpRes.StatusDescription)
    '閉じる
    ftpRes.Close()


引用返信 削除キー/
■33686 / inTopicNo.2)  Re[1]: FTPにてリモート サーバーがエラーを返しました: (550)
□投稿者/ kiku 一般人(1回)-(2017/10/03(Tue) 09:00:20)
  • アイコン>調べた時に出てきた、"ftp://111.222.333.444//******/test.txt")なども
    >試しましたがうまく行きませんでした。

    これは文脈からNextFTPを使ってもアップロードできなかった
    ということでしょうか?

    ということであるならば、アプリを疑う前に
    NextFTPを使ってアップロードできるようにしないとならないと思います。

    今回のエラーは550ですし、下記が考えられます。

    ・書き込み権限がない
    ・指定したディレクトリが存在しない
    ・指定したファイルがすでに存在している

    確認してみてください。
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -