- - PR -
FTPファイルアップロードについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-29 11:07
いつもこちらでお世話になっております。
FTPでファイルをアップロードについての質問です。 開発環境C# .net 2.0 サーバLinux FTPでファイルをアップロードするときに以下のエラーが出ます。 リモートサーバがエラーを返しました:(550)ファイルが使用できません (例:ファイルが見つからない、ファイルへのアクセスがない) 550 Failed to change directory. public bool FTPFileUpload() { try { string uri = "ftp://サーバ名/ディレクトリ1/ディレクトリ2/ファイル名"; string myFile = "E:/uploadfile/ファイル名"; Uri serverUri = new Uri(uri); if (serverUri.Scheme != Uri.UriSchemeFtp) { return false; } FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri); request.Method = WebRequestMethods.Ftp.AppendFile; StreamReader sourceStream = new StreamReader(myFile); byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); sourceStream.Close(); request.ContentLength = fileContents.Length; request.Credentials = new NetworkCredential(ユーザID, パスワード); ↓この位置でえらーとなる。 Stream requestStream = request.GetRequestStream(); requestStream.Write(fileContents, 0, fileContents.Length); requestStream.Close(); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); Console.WriteLine("Append status: {0}", response.StatusDescription); response.Close(); return true; } catch (WebException e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); FtpWebResponse res = (FtpWebResponse)e.Response; Console.WriteLine(res.StatusDescription); return false; } } ディレクトリは確認しましたので存在します。 ディレクトリの権限も確認しました。 TeraTermからも、コマンドプロンプトからも、FFFTPからも ディレクトリにアクセスできます。 IEからはアクセスできませんでした。 プログラムを実行した時のエラーと同じでした。 まったく原因がわからないので、どなたかご教授お願いします。 | ||||
|
投稿日時: 2007-10-29 14:17
としてもだめですか? [ メッセージ編集済み 編集者: れい 編集日時 2007-10-29 14:18 ] | ||||
|
投稿日時: 2007-10-29 14:27
> IEからはアクセスできませんでした。
WinInetだとIEがオフラインになっているとエラーが出た記憶が。 | ||||
|
投稿日時: 2007-10-29 14:44
れいさん、こあらさん
ご返答ありがとうございます。 >string uri = "ftp://サーバ名/%2fディレクトリ1/ディレクトリ2/ファイル名"; この通りに記述したら、ファイルをアップロードすることができました。 ありがとうございました。 |
1