このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

ブラウザで定期的にuploadする方法について

発言者:市山
( Date Thursday, December 16, 1999 01:46:16 )


このページには大変お世話になってます。

このページを読んでCGIスクリプトを初めてみたのですが
行き詰まってしまったのでみなさんの知恵を貸して下さい。

今、作ろうとしているCGIはテキストファイルを定期的に(5秒間隔)
アップロードできるようにするものです。
過去のログを参考にして、なんとか普通にアップロードできるものは
作れたのですが(Webstarのプラグイン使用)、
その次の段階へすすめません。
なにか、よい方法はないでしょうか?


田中求之 さんからのコメント
( Thursday, December 16, 1999 18:27:13 )

定期的にアップロードするというのは、具体的にはどのような仕組みを考えて
いらっしゃいますか?

「テキストファイルを CGI がアップロードする」というのが、具体的に
どのようなデータの流れになるのかわかりませんので、なんともコメント
できないのです。

ある場所のテキストファイルを、5秒ごとに、サーバーへ転送するという
ことなのか、ブラウザで表示されるテキストファイルの内容が5秒ごとに
自動的に更新されるようにしたいということなのでしょうか?

もうすこし具体的に話していただけますか?

市山 さんからのコメント
( Thursday, December 16, 1999 23:59:29 )

早速のレスありがとうございます。

具体的には、任意のパソコンに保存されているテキストファイルを
サーバーにアップロードをしたいんです。

流れとしては、
1、任意のパソコンでテキストデータ(時事刻々と変化)を作成。
2、テキストデータを定期的にアップロード(更新)する。
というものです。

よろしくお願いします。

田中求之 さんからのコメント
( Friday, December 17, 1999 17:52:30 )

なるほど。

それでファイルのアップロードはうまくできるようになったのですね?
(WebSTAR の upload Plugin を使って)

後は、アップロードされたファイルが表示されるようにしたいということ
なのでしょうか?

市山 さんからのコメント
( Friday, December 17, 1999 22:59:23 )

書き方が悪くて申し訳ありません。

現在、Webstar4.1(英語版、評価版)を使用しています。
これに付属していたアップロードプラグインを使用して
以下のようなソースを作るところまで漕ぎ着けました。

-------------

<HTML>

<HEAD>


  <TITLE>ファイルアップロード</TITLE>

</HEAD>
<BODY>

<FORM ENCTYPE="multipart/form-data" ACTION="/example/.upload" METHOD="POST">

<H1 ALIGN=CENTER>データファイルアップロードページ</H1>

<H3 ALIGN=CENTER>データファイルをアップロードするためのページです</H3>

<!-- The Form Action below designates where the file will be uploaded to.  -->
<!-- /example/x.upload means that the file will be uploaded to a folder called 'example'  -->
<!-- To allow uploads to a folder, a file named '.upload' must be present therein.  -->

<center>
ブラウザボタンを使ってアップするファイルを選択して下さい<P>
アップするファイル: <INPUT NAME="remotefile" TYPE="file" ><P>
<INPUT TYPE="submit" VALUE="アップロード"> 
<INPUT TYPE="reset" VALUE="リセット">
</center>

</FORM>
</BODY>
</HTML>

--------------ここまで

で、やりたいことは
(1)1回ファイルを選択したら、その後はファイル名をブラウザが記憶する
(2)設定時間を経過したら自動的にsubmitボタンを押したことにする
です。

(1)に関しては、クッキーを使えばできるような気がしているのですが、
いろいろな本を読んでみるとクッキーの設定がCGIプログラムの中で
設定されているので、プラグインを使用した場合にどうしたらいいのか
わかりませんでした(T_T)

どうぞ、よろしくお願いしますm(_ _)m

田中求之 さんからのコメント
( Saturday, December 18, 1999 12:26:39 )

>やりたいことは
>(1)1回ファイルを選択したら、その後はファイル名をブラウザが記憶する
>(2)設定時間を経過したら自動的にsubmitボタンを押したことにする

ということは、サーバー側ではなくて、ブラウザ側をコントロールする必要が
ありますよね? ですから、基本的には CGI や Cookie ヘッダなどで希望する
ようなシステムを組むことはできません。

原理的なことを考えてもらえばわかると思うのですが、もしブラウザが Cookie
の指示で自動的にファイルをアップロードするようなことができるようになって
いたら、セキュリティ上の大きな問題になることはわかりますよね?


ということで、まったく別のアプローチ、つまり、ブラウザの動作を手元で
コントロールする(たとえば AppleScript を使うなど)か、ファイルの
アップロード専用のソフトを組むか、ということになります。


田中求之 さんからのコメント
( Saturday, December 18, 1999 12:28:21 )

WebSTAR 4 でしたら FTP が動かせますので、FTP サーバを動かしておいて
そこに Fetch か anarchie あるいは MacOS 8.5 以降でしたら URL Scripting
を使って、定期的にファイルをアップロードするスクリプトを走らせるという
のが現実的な方法かもしれません。

市山 さんからのコメント
( Saturday, December 18, 1999 22:27:17 )

やっぱりそうですか。

どうもありがとうございました。
別手段を考えてみることにします。