C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ファイルFtpアップロードするには?


(過去ログ 65 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■38121 / inTopicNo.1)  ファイルFtpアップロードするには?
  
□投稿者/ XYZ (13回)-(2009/07/07(Tue) 11:35:25)

分類:[.NET 全般] 

JpegファイルをFtpアップしようとして、落ちてしまいます。
原因は何故かまったくわかりません。

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
using System.Windows.Forms;

namespace SalonFirst
{
class FtpWebPut
{
private const string userName = "anonymous";
private const string myPassWord = "who@example.com";
private const string UpLoadDirectory = "ftp://192.168.1.241/testSalon/testTenpo/image/";

/// <summary>
/// ファイル転送
/// </summary>
/// <param name="_filePath">送信するファイルのパス</param>
/// <param name="_fileName">保存する画像名</param>
public bool UpLoad(string _filePath,string _fileName)
{
try
{
Uri uri = new Uri(UpLoadDirectory + _fileName);
string myFile = _filePath;

FtpWebRequest req = (System.Net.FtpWebRequest)WebRequest.Create(uri);
req.Credentials = new NetworkCredential(userName, myPassWord);
req.Method = WebRequestMethods.Ftp.UploadFile;
//PASVモードを無効にする
req.UsePassive = false;
//要求の完了後に接続を閉じる
req.KeepAlive = true;
using (FileStream fs = new FileStream(myFile, FileMode.Open))
{


//ファイルをアップロードするためのStreamを取得
Stream st = req.GetRequestStream();  ← ここで落ちてしまう

Byte[] buf = new Byte[1024];
int count = 0;

do
{
count = fs.Read(buf, 0, buf.Length);
st.Write(buf, 0, count);
} while (count != 0);
fs.Close();
st.Close();
}

return true;

}
catch (WebException we)
{
FtpWebResponse res = (FtpWebResponse)we.Response;
MessageBox.Show("ファイルのアップロードが失敗しました。" + res.StatusDescription);
return false;
}
catch (Exception ex)
{
MessageBox.Show("ファイルのアップロードが失敗しました。" + ex);
return false;
}

}

}
}

どう直せばちゃんと動くのか、考えても分からないので、投稿させていただきました。どうか、お教え願えませんでしょうか。




引用返信 編集キー/
■38123 / inTopicNo.2)  Re[1]: ファイルFtpアップロードするには?
□投稿者/ .SHO (934回)-(2009/07/07(Tue) 11:40:12)
> JpegファイルをFtpアップしようとして、落ちてしまいます。
> 原因は何故かまったくわかりません。

せめてエラーメッセージとか、どうなるのかとかぐらいは
書いてもらえないでしょか?
引用返信 編集キー/
■38126 / inTopicNo.3)  Re[2]: ファイルFtpアップロードするには?
□投稿者/ XYZ (14回)-(2009/07/07(Tue) 12:07:44)
No38123 (.SHO さん) に返信
>>JpegファイルをFtpアップしようとして、落ちてしまいます。
>>原因は何故かまったくわかりません。
>
> せめてエラーメッセージとか、どうなるのかとかぐらいは
> 書いてもらえないでしょか?


申し訳ございません

「ファイルのアップロードがしっぱいしました。150 Opening BINARY mode data connection for 20080214_217341jpg」

というメッセージが表示されます


引用返信 編集キー/
■38127 / inTopicNo.4)  Re[3]: ファイルFtpアップロードするには?
□投稿者/ επιστημη (2027回)-(2009/07/07(Tue) 12:32:05)
επιστημη さんの Web サイト
2009/07/07(Tue) 12:35:20 編集(投稿者)

えと、ふつーに"コマンドラインからftp"なり"ftp-clientアプリ"なり
からuploadできることは確認済みなんですよね?
引き受け先に同名ファイルがあってハネられてるとか
容量制限にひっかかってるとかもないんですよね?

引用返信 編集キー/
■38129 / inTopicNo.5)  Re[3]: ファイルFtpアップロードするには?
□投稿者/ .SHO (936回)-(2009/07/07(Tue) 13:03:16)
> 「ファイルのアップロードがしっぱいしました。150 Opening BINARY mode data connection for 20080214_217341jpg」

これって、ソース中の

> MessageBox.Show("ファイルのアップロードが失敗しました。" + res.StatusDescription);

これですか?

「しっぱい」は漢字の変換ミス?
引用返信 編集キー/
■38130 / inTopicNo.6)  Re[4]: ファイルFtpアップロードするには?
□投稿者/ XYZ (15回)-(2009/07/07(Tue) 13:09:39)
No38127 (επιστημη さん) に返信
> 2009/07/07(Tue) 12:35:20 編集(投稿者)
>
> えと、ふつーに"コマンドラインからftp"なり"ftp-clientアプリ"なり
> からuploadできることは確認済みなんですよね?

はい、確認済みです

> 引き受け先に同名ファイルがあってハネられてるとか

同一ファイルはありません

> 容量制限にひっかかってるとかもないんですよね?

それもありません


よろしくお願いします
引用返信 編集キー/
■38132 / inTopicNo.7)  Re[4]: ファイルFtpアップロードするには?
□投稿者/ XYZ (16回)-(2009/07/07(Tue) 13:53:58)
No38129 (.SHO さん) に返信
>>「ファイルのアップロードがしっぱいしました。150 Opening BINARY mode data connection for 20080214_217341jpg」
>
> これって、ソース中の
>
>>MessageBox.Show("ファイルのアップロードが失敗しました。" + res.StatusDescription);
>
> これですか?
>
> 「しっぱい」は漢字の変換ミス?

漢字変換ミスです。

MessageBox.Show("ファイルのアップロードが失敗しました。" + res.StatusDescription);
のことです。


引用返信 編集キー/
■38133 / inTopicNo.8)  Re[5]: ファイルFtpアップロードするには?
□投稿者/ .SHO (937回)-(2009/07/07(Tue) 14:09:22)
> MessageBox.Show("ファイルのアップロードが失敗しました。" + res.StatusDescription);
> のことです。

それだったら、何で

> Stream st = req.GetRequestStream();  ← ここで落ちてしまう

ここってわかったんですか?

引用返信 編集キー/
■38134 / inTopicNo.9)  Re[1]: ファイルFtpアップロードするには?
□投稿者/ みきぬ (514回)-(2009/07/07(Tue) 14:13:36)
とにかく、まずは<del>捜査</del>調査をする必要があるのではないかしら。

No38121 (XYZ さん) に返信
> catch (WebException we)
> {
> FtpWebResponse res = (FtpWebResponse)we.Response;
> MessageBox.Show("ファイルのアップロードが失敗しました。" + res.StatusDescription);
> return false;
> }

せっかくここで catch してるんだから、res.StatusDescription だけでなく他のプロパティの値もいろいろと確認してみたらどうかな。
引用返信 編集キー/
■38135 / inTopicNo.10)  Re[2]: ファイルFtpアップロードするには?
□投稿者/ .SHO (938回)-(2009/07/07(Tue) 14:16:43)
> せっかくここで catch してるんだから、res.StatusDescription だけでなく他のプロパティの値もいろいろと確認してみたらどうかな。

少なくとも、res.StatusDescription の内容を見る限りは失敗してないですね。
失敗した時も 150番って返すのかな?
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -