Netscapeでちゃんとファイル転送をするには?

[上に] [前に] [次に]
ちゃわ 1999/09/08(水) 14:42:25
ブラウザからサーバに対してファイル転送をするときのことです。

HTMLのINPUTタグでTYPE=fileを指定していろいろテストしてるのですが、
ブラウザにNetscapeを使うと、日本語を含むファイル名のとき、
ファイルの中身を転送することができません。
MSIEだとどんなファイル名でも問題なく転送できますが、Netscapeを使うと、
ファイル名が全て半角英数字でないと中身を送れない状況です。
フォルダ名やファイル名に日本語を含んでいる場合、Netscapeでもちゃんと
中身を送るようにするにはどうしたらいいのでしょうか?
何かヒントになりそうなことでも結構ですので、よろしくお願いします。

ちなみに、ブラウザを起動する端末はWindowsマシンで、95でも98でも
結果は同じでした。

まこ 1999/09/08(水) 15:40:57
NetscapCommunicator4.5 はできますが...
フォルダ名、ファイル名共。

まこ 1999/09/08(水) 15:52:37
あっ、ちなみにサーバは
NetscapeEnterpriseServer3.x です。

ちゃわ 1999/09/08(水) 17:32:46
まこさんからちゃんと転送できるという書き込みがあったので、
こちらの環境について書いておきます。

サーバ環境
  サーバマシン: Solaris 2.6
  HTTPサーバ: Netscape Enterprise Server Ver. 3.0

端末環境
  使用OS: Windows95 及び Windows98 でテスト
  ブラウザ: NN 4.04 及び 4.6 でテスト (どちらもダメでした)

サーバと端末はLANで繋がっています。
試しにサーバマシン(Solaris)のコンソールでNNを立ち上げると、
ファイル名が日本語でも正常にファイル転送ができました。

まこ 1999/09/08(水) 18:03:54
ちょっと古い記憶なので申し訳ないのですが、

Windowsのディスクトップに直下のファイルをアップロードしようとしていますか?
他のフォルダでも駄目ですか?

UNIXという事はEUCコードですよね。
その辺が絡んでいるかもしれません。
INPUTタグのTYPE=fileがあるHTMLをEUCコードだと駄目だったような気がします。
対策として、シフトJISで全て出力する(CGIだったので)ように
修正したのを記憶しております。
HTMLファイルの場合はシフトJISに変換して置く。
UNIXなので修正後、いちいち変換しなくてはいけないのが面倒ですが(笑)
違うかもしれませんが、試してみてください。

まこ 1999/09/08(水) 18:10:12
追記です。

シフトJISにするとサーバマシンのコンソールでのNNは
できなくなってしまうかもしれません。
コンソールはEUCコードですからね。

ちゃわ 1999/09/08(水) 20:14:37
一難去ってまた一難。
まこさん、ありがとうございます。サーバのHTMLファイルをS−JISにしたら
ファイル名に関係なく転送できるようになりました。しかし、今作っているのは
単なるHTMLではないのです。

実はNTTソフトウェアが開発したWebBASEというのを使っています。
これはHTMLにデータベースアクセスのためのコマンドを混在して記述できるように
したものです。Netscape Enterprise Server とは別のポート番号でWebBASEサーバを
立ち上げておき、普段ブラウザはWebBASEサーバのポート番号とやり取りをします。
WebBASEサーバは、HTMLファイルの中でWebBASEスクリプトが出てくると
データベースへの問い合わせなどを実行し、そうでなければ通常のHTML文として
ブラウザにそのままデータを送ります。ところが、WebBASEサーバはTYPE=fileの
ファイル転送に対応しておらず、CGIプロセスが永久に標準入力の待ち状態に
入って止まってしまいます。そのため、このファイル転送の部分だけFORMタグの
ACTIONで別のポート番号を指定して、Netscape Enterprise Server に飛ばして実行させる。
・・・ということをやってるのです。
で、問題は、「WebBASEスクリプトはEUCで記述する」という規約があるため、
スクリプトファイルをS−JISに変換することができないのです。

そういう状況ですので、何とかHTMLファイルをEUCのままで対応できないかと
考えているのですが、S−JISに変換する以外に方法は全くないのでしょうか?
例えば、ブラウザの設定を変えるとか・・・。無理かな?
(長文ごめんなさい)

まこ 1999/09/09(木) 11:19:12
申し訳ありませんが、他の方法は分かりません。
私共は今後の影響も考えて全てS−JISで出力するように対応しています。
制限事項を付加する事で解決できないでしょうか。
NNの場合はファイル名に日本語を禁止するとか。
CGIでしたら、標準出力の前に変換する事もできそうですが。
それも駄目なんですか?
お役に立てなくて申し訳ありません。

ちゃわ 1999/09/09(木) 11:58:47
[[解決]]
まこさんは会社からの書き込みなのでしょうか?
貴重なヒントを与えて下さってありがとうございました。
NNではS−JISでないと日本語名のファイルに対応できないことが
判ったのは、本当に大きな進歩です。WebBASEではスクリプトの中から
コマンドを実行することが出来るので、まずEUCでスクリプトを
書いておき、euctosjなどを途中にかましてからブラウザに送信する
ような感じでテストしてみます。もしどうしてもダメなら、フォルダや
ファイル名で日本語を禁止にしちゃいます。だって仕方ないですもん!
本当にいろいろとありがとうございました。

[上に] [前に] [次に]