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

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

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

Re[9]: 別サーバからファイル渡し


(過去ログ 24 を表示中)

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

■10460 / inTopicNo.1)  別サーバからファイル渡し
  
□投稿者/ ミチル (1回)-(2007/11/18(Sun) 16:17:10)

分類:[ASP.NET (C#)] 

ASP.NET C# での開発です WEBアプリケーションです

別サーバにあるファイル、例えばJPEGファイルがあるとして、そのファイルを別パソコンから受け取りたいです。

大元のサーバから値を渡し、別サーバで処理をします。その結果ファイルが生成されます。
その生成されたファイルJPEGを大元のサーバの画面にJPEGを表示してクライアントから見れるようにしたいです。
同じネットワーク内に別サーバがあります。

ファイルなのでそのままJPEGファイルを持ってくることは出来ないと思うんですけど、その場合どのように書いたら
いいのでしょうか。
できたら詳しくお願いいたします。


引用返信 編集キー/
■10470 / inTopicNo.2)  Re[1]: 別サーバからファイル渡し
□投稿者/ れい (208回)-(2007/11/18(Sun) 22:52:23)
No10460 (ミチル さん) に返信
> できたら詳しくお願いいたします。

詳しく状況がわかれば詳しく教えてくれる人もいると思いますが、
その説明では詳しく説明することは不可能です。

大元のサーバー、別サーバー、持ってくる、受け取る、
そういったあいまいな単語が多すぎ、状況が把握できません。

あれこれそれどれ、といった指示語は他人には理解不可能です。
正確を期す場合にはABCといった記号を振ります。

JPEG、ファイル、JPEGファイル、この3者の違いもわかりません。
同じ事物をあらわすなら常に同じ呼称を用いるべきです。

図を用いたりするのも概念を伝えるにはいい方法でしょう。
引用返信 編集キー/
■10471 / inTopicNo.3)  Re[2]: 別サーバからファイル渡し
□投稿者/ ミチル (2回)-(2007/11/18(Sun) 23:48:10)
反省しもう一度質問しなおします

ASP.NET C# での開発です WEBアプリケーションです

Aサーバにあるファイル、例えばJPEGファイルがあるとして、そのファイルをBサーバで受け取りたいです

Bサーバから値を渡し、Aサーバで処理をします。その結果ファイルが生成されます。
その生成されたJPEGファイルをBサーバの画面にJPEGファイルを表示してクライアントから見れるようにしたいです。
同じネットワーク内に別サーバがあります。

ファイルなのでそのままJPEGファイルを持ってくることは出来ないと思うんですけど、その場合どのように書いたら
いいのでしょうか。
できたら詳しくお願いいたします。
引用返信 編集キー/
■10474 / inTopicNo.4)  Re[3]: 別サーバからファイル渡し
□投稿者/ 渋木宏明(ひどり) (560回)-(2007/11/19(Mon) 00:18:21)
渋木宏明(ひどり) さんの Web サイト
> 反省しもう一度質問しなおします

基本的に、情報量が増えてる気がしません。

> ASP.NET C# での開発です WEBアプリケーションです
>
> Aサーバにあるファイル、例えばJPEGファイルがあるとして、そのファイルをBサーバで受け取りたいです

「Aサーバ」「Bサーバ」とは、それぞれ何サーバですか?
両方とも Web サーバと考えていいんでしょうか?

> Bサーバから値を渡し、Aサーバで処理をします。その結果ファイルが生成されます。

ファイルが生成されるのは「Aサーバ上」と考えていいんしょうか?

> ファイルなのでそのままJPEGファイルを持ってくることは出来ないと思うんですけど、その場合どのように書いたら
> いいのでしょうか。

img タグじゃ駄目なんですか?

場合によっては、画像をファイルとして生成する必要すらないと思います。

引用返信 編集キー/
■10475 / inTopicNo.5)  Re[4]: 別サーバからファイル渡し
□投稿者/ ミチル (3回)-(2007/11/19(Mon) 00:41:45)
No10474 (渋木宏明(ひどり) さん) に返信
>>反省しもう一度質問しなおします
>
> 基本的に、情報量が増えてる気がしません。
>
>>ASP.NET C# での開発です WEBアプリケーションです
>>
>>Aサーバにあるファイル、例えばJPEGファイルがあるとして、そのファイルをBサーバで受け取りたいです
>
> 「Aサーバ」「Bサーバ」とは、それぞれ何サーバですか?
> 両方とも Web サーバと考えていいんでしょうか?
はい
>>Bサーバから値を渡し、Aサーバで処理をします。その結果ファイルが生成されます。
>
> ファイルが生成されるのは「Aサーバ上」と考えていいんしょうか?
はい
>>ファイルなのでそのままJPEGファイルを持ってくることは出来ないと思うんですけど、その場合どのように書いたら
>>いいのでしょうか。
>
> img タグじゃ駄目なんですか?
意味が分かりませんが。HTMLのimgタグのことですか?
だとしたらよく分かりませんが、こちらとしては生成されたJPEGファイル、画像ファイルのことを言っています。

> 場合によっては、画像をファイルとして生成する必要すらないと思います。
>
引用返信 編集キー/
■10476 / inTopicNo.6)  Re[3]: 別サーバからファイル渡し
□投稿者/ カンタービレ (68回)-(2007/11/19(Mon) 01:03:30)
No10471 (ミチル さん) に返信
> ASP.NET C# での開発です WEBアプリケーションです
> 
> Aサーバにあるファイル、例えばJPEGファイルがあるとして、そのファイルをBサーバで受け取りたいです
> 
> Bサーバから値を渡し、Aサーバで処理をします。その結果ファイルが生成されます。
> その生成されたJPEGファイルをBサーバの画面にJPEGファイルを表示してクライアントから見れるようにしたいです。
> 同じネットワーク内に別サーバがあります。
> 
・・・・・・。
ちょっと私なりにミチルサマの言葉を脳内変換してみマス。
ミチルサマのやりたいコトと違っていたらゴメンナサイ。

【クライアント(IEとか)】←→【WEBサーバ(B)】←→【APPサーバ(A)】の構成で

@ WEBサーバ(B)にリクエストのタイミングで処理開始(クライアント→WEBサーバ)
A APPサーバ(A)に処理が移り画像ファイルが生成される。(Aサーバ上に作成)
B APPサーバ(A)に作成された結果が戻ってくる(かどうかは知らないケド多分なんかあると想定)
C WEBサーバ(B)からAPPサーバ(A)上のファイルをクライアント側に見せたい。(=IEなどのブラウザに表示させたい)

という解釈であってマス??
@ABとCは非同期(別リクエスト)かも知れませんが・・・。

> その生成されたJPEGファイルをBサーバの画面にJPEGファイルを表示してクライアントから見れるようにしたいです。
AとかBとかJPEGとかはまだ分かっても、この意味がすごく分かりにくいという感じなんデス。

単にHttpResponse.OutputStreamを使ってJPEGを直接ASP経由で書き込むコトが知りたいのか
もっと別のコトなのか・・・。

引用返信 編集キー/
■10477 / inTopicNo.7)  Re[5]: 別サーバからファイル渡し
□投稿者/ mあ@反省中 (23回)-(2007/11/19(Mon) 01:04:05)
>>img タグじゃ駄目なんですか?
> 意味が分かりませんが。HTMLのimgタグのことですか?
> だとしたらよく分かりませんが、こちらとしては生成されたJPEGファイル、画像ファイルのことを言っています。

B 鯖のHTMLで

<img src="http://A-server/xx-command.exe?w=250&h=400&p=100" />

として、


>
>>場合によっては、画像をファイルとして生成する必要すらないと思います。
>>

A-server の xx-command.exe が、パラーメータ受け取って、画像を生成、stdout に画像を出力すれば終わり。

ってことですね。

引用返信 編集キー/
■10480 / inTopicNo.8)  Re[3]: 別サーバからファイル渡し
□投稿者/ れい (209回)-(2007/11/19(Mon) 02:28:42)
No10471 (ミチル さん) に返信
> 反省しもう一度質問しなおします
>
> ASP.NET C# での開発です WEBアプリケーションです
>
> Aサーバにあるファイル、例えばJPEGファイルがあるとして、そのファイルをBサーバで受け取りたいです
>
> Bサーバから値を渡し、Aサーバで処理をします。その結果ファイルが生成されます。
> その生成されたJPEGファイルをBサーバの画面にJPEGファイルを表示してクライアントから見れるようにしたいです。
> 同じネットワーク内に別サーバがあります。
>
> ファイルなのでそのままJPEGファイルを持ってくることは出来ないと思うんですけど、その場合どのように書いたら
> いいのでしょうか。
> できたら詳しくお願いいたします。

私には少しわかりやすくはなりました。
ですがまだこれでは意味がわかりません。

> Aサーバにあるファイル、例えばJPEGファイルがあるとして、そのファイルをBサーバで受け取りたいです

AサーバーにあるファイルをBサーバーで受け取りたいなら、
Copyするなり、Aからアップロードするなり、Bがダウンロードすればいいだけですね。

> その生成されたJPEGファイルをBサーバの画面にJPEGファイルを表示してクライアントから見れるようにしたいです。

Bサーバーの画面とは何でしょうか?
モニターのことですか?それとも何か別のものですか?
クライアントとはIEやFireFoxなどのブラウザのことですか?

> 同じネットワーク内に別サーバがあります。

AとBが同じネットワークにあるということですか?

> ファイルなのでそのままJPEGファイルを持ってくることは出来ないと思うんですけど、その場合どのように書いたらいいのでしょうか。

ファイルなのでそのまま持ってくればいいと思いますが、
なぜ持ってこれないのですか?

うまく説明できないなら、
全ての思考・手順を省略せずに書いたほうがわかりやすいです。
何を思って、どうやっているのか、
掲示板を見てる人には何もわかりません。
開発環境も置かれてる状況も、人によって様々ですから。
引用返信 編集キー/
■10533 / inTopicNo.9)  Re[4]: 別サーバからファイル渡し
□投稿者/ あく (21回)-(2007/11/20(Tue) 12:56:10)
再度質問しなおします。一部変えます。

サーバBの任意の場所にファイルを置きます。
サーバAのWEBアプリ上にボタンがあります。
クライアントがサーバA上のWEBアプリを実行してボタンを押すとサーバBのファイルをサーバAの任意の場所へファイルを移動させたいです。
ただそれだけを実現する為にはどの様にしたらいいのでしょうか
サーバAとサーバBは同じネットワークにあります。

サーバAへ下記コードのようなものでいけるんでしょうか?
書きコードはクライアントファイルをサーバへアップする場合は実行した結果できましたが、
サーバAとサーバBのこのような場合は、このような書き方では出来ませんか?
FTPなど使ったりするんでしょうか
HttpPostedFile posted;
posted = Request.Files[url];//urlにたぶんパスを入れる?
if (posted.FileName != "")//ファイルがある場合
{
posted.SaveAs("C:\\Inetpub\\wwwroot" + System.IO.Path.GetFileName(posted.FileName));//指定フォルダへ保存
}

自分なりに調べましたがあまりわかりません。
出来ましたら詳しくお願い致します。

未だ意味がわからない場合は言っていただければ質問しなおします。
お願い致します。
引用返信 編集キー/
■10535 / inTopicNo.10)  Re[5]: 別サーバからファイル渡し
□投稿者/ れい (211回)-(2007/11/20(Tue) 13:06:56)
2007/11/20(Tue) 13:09:02 編集(投稿者)

No10533 (あく さん) に返信
> サーバBの任意の場所にファイルを置きます。
> サーバAのWEBアプリ上にボタンがあります。
> クライアントがサーバA上のWEBアプリを実行してボタンを押すとサーバBのファイルをサーバAの任意の場所へファイルを移動させたいです。

サーバーA側からサーバーBの任意の場所のファイルを読むのは不可能にしておかなくてはいけません。
サーバーBの「特定の場所」にあるファイルをサーバーAの「特定の場所」に移動するなら
セキュリティの問題も回避できるので、可能です。

> サーバAとサーバBは同じネットワークにあります。

コピーする手段によっては別ネットワークでも可能ですし、いろいろできます。
同じネットワークならかなり楽にできます。

> サーバAへ下記コードのようなものでいけるんでしょうか?
>...
> HttpPostedFile posted;

これではダメです。
HttpPostedFileはHttpでポストしたファイル=クライアントから送ったファイルです。

コピーするファイルと場所がわかっているなら、
普通にコピーすればいいだけです。

CIFSによるファイル共有が可能なら、

System.IO.File.Copy(sourceFileName, destFileName)

だけですね。
Httpしか通らないなら、WebClientやHttpWebRequestを使わないといけません。

> 未だ意味がわからない場合は言っていただければ質問しなおします。

意味はわかるようになりました。

が、わからなくなった点が一つ。
なぜ名前を変えたのでしょうか?
別に何の問題もないのですが、
心情を知りたい方もいるようなので、理由があるなら教えてください。
引用返信 編集キー/
■10537 / inTopicNo.11)  Re[6]: 別サーバからファイル渡し
□投稿者/ ミチル (4回)-(2007/11/20(Tue) 13:34:30)
No10535 (れい さん) に返信
> 2007/11/20(Tue) 13:09:02 編集(投稿者)
>
> ■No10533 (あく さん) に返信
>>サーバBの任意の場所にファイルを置きます。
>>サーバAのWEBアプリ上にボタンがあります。
>>クライアントがサーバA上のWEBアプリを実行してボタンを押すとサーバBのファイルをサーバAの任意の場所へファイルを移動させたいです。
>
> サーバーA側からサーバーBの任意の場所のファイルを読むのは不可能にしておかなくてはいけません。
> サーバーBの「特定の場所」にあるファイルをサーバーAの「特定の場所」に移動するなら
> セキュリティの問題も回避できるので、可能です。
>
>>サーバAとサーバBは同じネットワークにあります。
>
> コピーする手段によっては別ネットワークでも可能ですし、いろいろできます。
> 同じネットワークならかなり楽にできます。
>
>>サーバAへ下記コードのようなものでいけるんでしょうか?
> >...
>>HttpPostedFile posted;
>
> これではダメです。
> HttpPostedFileはHttpでポストしたファイル=クライアントから送ったファイルです。
>
> コピーするファイルと場所がわかっているなら、
> 普通にコピーすればいいだけです。
>
> CIFSによるファイル共有が可能なら、
>
> System.IO.File.Copy(sourceFileName, destFileName)
>
> だけですね。
CIFSがなにかわかりませんが、調べてみます。

System.IO.File.Copy(sourceFileName, destFileName)
はファイル名だけでいいんでしょうか
パスなどを一緒に書くということなんでしょうか。

> Httpしか通らないなら、WebClientやHttpWebRequestを使わないといけません。
FTPなどなにかソフトをいれないといけないということではないんでしょうか?
そのクラスを使うだけで出来ちゃいますか?

>>未だ意味がわからない場合は言っていただければ質問しなおします。
>
> 意味はわかるようになりました。
>
> が、わからなくなった点が一つ。
> なぜ名前を変えたのでしょうか?
> 別に何の問題もないのですが、
> 心情を知りたい方もいるようなので、理由があるなら教えてください。
ごめんなさい。間違えました

お願い致します
引用返信 編集キー/
■10538 / inTopicNo.12)  Re[7]: 別サーバからファイル渡し
□投稿者/ れい (212回)-(2007/11/20(Tue) 13:43:34)
No10537 (ミチル さん) に返信
> CIFSがなにかわかりませんが、調べてみます。

普通のファイル共有です。
最近はCIFSかなぁとおもいますが、NetBiosでも同じです。

> System.IO.File.Copy(sourceFileName, destFileName)
> はファイル名だけでいいんでしょうか
> パスなどを一緒に書くということなんでしょうか。

仕組みを考えればわかると思いますし、
ドキュメントに書いてあります。

>>Httpしか通らないなら、WebClientやHttpWebRequestを使わないといけません。
> FTPなどなにかソフトをいれないといけないということではないんでしょうか?
> そのクラスを使うだけで出来ちゃいますか?

ドキュメントを読んで理解してから出来るか出来ないか質問しましょう。
理解できないならどこまで理解できたか明記し、何がわからないか質問しましょう。

>>なぜ名前を変えたのでしょうか?
> ごめんなさい。間違えました

別に謝る必要も無いです。
間違えただけですか…。
引用返信 編集キー/
■10560 / inTopicNo.13)  Re[8]: 別サーバからファイル渡し
□投稿者/ ミチル (6回)-(2007/11/20(Tue) 18:36:39)
File.Copy(sourceFileName, destFileName)
で共有ファイルにし
File.Copy("\\192.168.1.1\test.txt","C:\\Inetpub\\wwwroot\\upload");

のように書いてファイルコピーを試したんですがエラーがでました
一部PASSに間違いがありますみたいなエラーでした。
C:\\Inetpub\\wwwroot\\uploadはサーバAのコピーしたいフォルダです
\\192.168.1.1\test.txtが同じネットワークにあるサーバBのファイルです。
アドレスに\\192.168.3.4\test.txtを入れると中身が確認できました。

何がいけないのでしょうか
お願いします

\\192.168.1.1\test.txt

\\192.168.1.1\\test.txt
でもだめでした
引用返信 編集キー/
■10561 / inTopicNo.14)  Re[9]: 別サーバからファイル渡し
□投稿者/ れい (215回)-(2007/11/20(Tue) 18:59:01)
No10560 (ミチル さん) に返信
> のように書いてファイルコピーを試したんですがエラーがでました
> 一部PASSに間違いがありますみたいなエラーでした。
「みたい」ではわかりません。

> アドレスに\\192.168.3.4\test.txtを入れると中身が確認できました。
どこからでしょうか?
サーバーAから?Bから?クライアントから?

> 何がいけないのでしょうか

問題への取り組み方がいけません。
どこまでならできるのか、順番に試しましょう。
ローカルファイルのコピーはできるのか、
ASP.Netでなければどうなのか、VBではどうなのか、
試せることはたくさんあります。
それらから、類推するば答えはわかるはずです。

> \\192.168.1.1\test.txt
> を
> \\192.168.1.1\\test.txt

C#でのパスの指定の仕方の典型的間違いです。
調べてみましょう。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -