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

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

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

C#でのファイルのアップロード


(過去ログ 1 を表示中)

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

■1215 / inTopicNo.1)  Re[8]: C#でのファイルのアップロード
  
□投稿者/ みゃみゅ玉子 少将(62回)-(2005/09/02(Fri) 21:01:42)
みゃみゅ玉子 さんの Web サイト

分類:[C#] 

2005/09/02(Fri) 22:24:35 編集(投稿者)

みゃみゅ玉子です。

No1211に返信(白さんの記事)
> すみません↑・・・(時間があったらやりたいです)
>
> Server(tomcat)のログではファイル受信部分でエラーが出ているみたいです。
> なのでC#側のファイル送信部分(やりかた?)がおかしいのではないかと思っています。(ファイルの指定?)
> だれか、わかるかたいませんか?

Server側のログだけではわからないと思うので、
(1) Servlet側のアップロードをするクラスにデバッグ用のコードを入れて、試してみる
(2) 何を送ってるのかを、確認する
などをやったほうが、解決に向かいますよ?

(1)が無理な場合(プログラムをいじれない場合)、(2)をやるしか無いですよね。

HttpWebRequestは、HTTPのおしゃべりの部分しかやってくれないと思います。
なので、送りたいデータの部分は、自分でちゃんと作るしかないのです。

おかしいのは・・・どこだろう?
<form method="POST">〜</form>で送ってると考えてデータを作ってあげればいいのかな?
っていうところでしょうか。


0
引用返信 編集キー/
■1198 / inTopicNo.2)  C#でのファイルのアップロード
□投稿者/ 白 二等兵(1回)-(2005/09/01(Thu) 19:43:52)

分類:[C#] 


分類:[C#] 

現在、HTMLよりPostでファイルをアップロードしServletでもろもろの処理をしているのですが、HTMLでのアップロード部分をC#アプリとして作り変えたいのですが、どのようにしたらよいのでしょうか。
まったくわからないのでご指導お願いします。
決まっていることは、
テキストファイルの送信
テキストファイルのパスはずっと同じところです
post形式でアップロードし、Servletを起動する
そもそもこれってできるのでしょうか?


0
引用返信 編集キー/
■1199 / inTopicNo.3)  Re[1]: C#でのファイルのアップロード
□投稿者/ 中博俊 神(147回)-(2005/09/01(Thu) 22:27:14)
中博俊 さんの Web サイト

分類:[C#] 

こんにちはなかです。

出来ます。
System.Net.HttpWebRequest

を見てみましょう。

0
引用返信 編集キー/
■1200 / inTopicNo.4)  Re[2]: C#でのファイルのアップロード
□投稿者/ 白 二等兵(2回)-(2005/09/02(Fri) 00:24:38)

分類:[C#] 

ありがとうございました。
どうにか解決できそうです。
System.Net.HttpWebRequest
こっちをつかうんですね!
あと、しつもんなんですが
Servlet側に何か設定とかいりますか?
HTMLのPostと同じように動作するのですか?

0
引用返信 編集キー/
■1201 / inTopicNo.5)  Re[3]: C#でのファイルのアップロード
□投稿者/ 中博俊 神(148回)-(2005/09/02(Fri) 09:15:17)
中博俊 さんの Web サイト

分類:[C#] 

不要ですね。
HTTPに完全に従った形でアップロードできればまったく問題ないです。

0
引用返信 編集キー/
■1203 / inTopicNo.6)  Re[4]: C#でのファイルのアップロード
□投稿者/ 白 二等兵(3回)-(2005/09/02(Fri) 10:13:15)

分類:[C#] 

apacheサーバー(80)の方のアクセスには成功したのですが、tomcat側へのアップロードがどうにも成功しません。

String postData= @"C:\\upload\\Test.txt";
ASCIIEncoding encoding=new ASCIIEncoding();
byte[] byte1=encoding.GetBytes(postData);
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://localhost:8080/test/uploadFile");
myReq.Method="POST";
myReq.ContentType="multipart/form-data";
myReq.ContentLength=postData.Length;
Stream newStream = myReq.GetRequestStream();
newStream.Write(byte1,0,byte1.Length);
Console.WriteLine("The value of 'ContentLength' property after sending the data is {0}",myReq.ContentLength);
newStream.Close();

このようなコードで送信しようとしています。どこがおかしいのでしょうか?

0
引用返信 編集キー/
■1204 / inTopicNo.7)  Re[5]: C#でのファイルのアップロード
□投稿者/ Moo 伍長(14回)-(2005/09/02(Fri) 10:21:54)
Moo さんの Web サイト

分類:[C#] 

こんにちはMooです。

ヒントだけ。

中さんが
>HTTPに完全に従った形でアップロード

と仰っているので、
・ブラウザからのアップロード
・今回作成したプログラムでのアップロード
の双方のパケット(トラフィック)をモニタリングしてみてはどうでしょうか?



0
引用返信 編集キー/
■1206 / inTopicNo.8)  Re[6]: C#でのファイルのアップロード
□投稿者/ 白 二等兵(4回)-(2005/09/02(Fri) 14:02:30)

分類:[C#] 

すみません・・・まだできません・・・
apacheのログには
Htmlよりアップロード時
127.0.0.1 - - [02/Sep/2005:12:47:41 +0900] "POST /test/uploadFile HTTP/1.1" 302 -
C#よりアップロード時(先ほどのコード)
127.0.0.1 - - [02/Sep/2005:13:13:23 +0900] "POST /test/uploadFile HTTP/1.1" 500 1668

というかたちになっています。
あんまりできないんで悲しくなってきたTT
サンプルコードってないですか?



0
引用返信 編集キー/
■1210 / inTopicNo.9)  Re[6]: C#でのファイルのアップロード
□投稿者/ まっぴぃ 二等兵(1回)-(2005/09/02(Fri) 18:49:13)

分類:[C#] 

No1204に返信(Mooさんの記事)
> の双方のパケット(トラフィック)をモニタリングしてみてはどうでしょうか?
双方は、ちと難しいのですが、せめて送り側だけでもモニタリングすると
楽になるかと思います。

etherealを使うと比較的楽にモニタリングできたりします。
http://www.space-peace.com/ethereal/


こいつをつかって、
ブラウザからのアップデートとプログラム側からのアップデートを比べてみてください。
特に、HTTPヘッダーがの違いについて注目してみてください

0
引用返信 編集キー/
■1211 / inTopicNo.10)  Re[7]: C#でのファイルのアップロード
□投稿者/ 白 一等兵(5回)-(2005/09/02(Fri) 19:21:10)

分類:[C#] 

すみません↑・・・(時間があったらやりたいです)

Server(tomcat)のログではファイル受信部分でエラーが出ているみたいです。
なのでC#側のファイル送信部分(やりかた?)がおかしいのではないかと思っています。(ファイルの指定?)
だれか、わかるかたいませんか?


0
引用返信 編集キー/
■1213 / inTopicNo.11)  Re[8]: C#でのファイルのアップロード
□投稿者/ 中博俊 神(149回)-(2005/09/02(Fri) 20:49:46)
中博俊 さんの Web サイト

分類:[C#] 

時間が無くてもやらなきゃダメだって。
安易に解決できると小手先に解決しようとすると、泥沼ですよ?

0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -