【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

HTMLでクライント側からのボタン押下を契機に別のサーバにファイルを転送したいと思っております。

HTML内には、同サーバ内に格納されているファイルを指定しておき、且つ、送信先のサーバ情報を記載しておくことにより実現したいと思っております。

何かよい方法はございますでしょうか?

CgiやPHPを使わずにやりたいと思ってます。

インターネット上に調べても、formタグで使ってクライント側から送信するファイルを指定し、サーバにアップロードする記載はあるのですが、今回やりたいと考えているのは送信すべきファイルは決まっているので上記のようなやり方がないか調べております。

よろしくおねがいいたします。

A 回答 (4件)

それは、普通FTPアプリケーションですね。


別にTELNETでもRSHでもよいですが、、
HTMLってゆうかHTTPでは無理でしょ。

サーバー側にFTPクライアント機能を提供するページをCGIやPHP
で準備すれば、Webサーバー経由で簡単に実現できますが、
それはだめなんですよね。

この回答への補足

ご回答ありがとうございました。
やはり無理なんですかね。。。。

> HTMLってゆうかHTTPでは無理でしょ。
確かにHTTPの間違いでした。

今回の構成だと
(1)クライアントPC
(2)Webサーバ(HTMLが置いてあるサーバ)
(3)別のサーバ

formタグを使って、(1)のクライントPCにあるファイルを(3)のサーバにアップロードすることはできることを確認できたので、
(2)にあるファイルを(3)に送ることもできそうな気がしたのですが。。。。

(2)にCGIやPHPを動かせる環境が必要なんですね。。。

補足日時:2010/05/13 11:50
    • good
    • 0

転送先のサーバーでCGIは使えますよね?


ファイルを受信するプログラムがなければ、転送されてきたファイルを保存出来ません。
でなければ、ApacheならheaderモジュールとPUTメソッドでなんとかなるかもしれませんが。。。


ドメイン制限が限定的に取り払われたXMLHttpRequest2を利用すれば、
Ajaxでデータを受け取って、そのデータを他のサーバーに対して送信出来ます。

cross-origin request(ドメイン間通信)専用の設定が必要になります。
http://dev.w3.org/2006/waf/access-control/
一言で言えば、ドメイン間通信を行う送信先で、送信元となるドメインが許可されたものかどうかという情報を付け加える必要があります。


が、これ(ドメイン間通信)に対応しているブラウザはFirefox3.6とChrome4くらいしかなかったと思いますし、
Firefox(Gecko)でバイナリデータを送信するには.sendAsBinary()というGecko専用のメソッドを使う必要があります。

Chromeがバイナリデータの送信をサポートしているかどうかはわかりません。
たぶん、.send()で行けると思いますが、、、


HTML5ならWebSocketsという方法もありますが、現状はChrom4のみ対応していることと、受信側(転送先)で専用サーバーを用意する必要があります。
    • good
    • 0

IEならば、セキュリティ設定を低くし、javascriptやVBScript(Scripting.FileSystemObject)を使用してクライアントより複写を実行することができます。

    • good
    • 0

CGIやPHPなどサーバーサイドアプリケーションを介さず実現するのは、不可能です。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!