- PR -

Apacheでのファイルアップロードについて

1
投稿者投稿内容
fuji
常連さん
会議室デビュー日: 2004/02/04
投稿数: 34
投稿日時: 2004-12-15 13:59
初めて投稿させていただきます。

RHL9にApache2をインストールして、Webサーバーとして稼動しています。
Windows2k・XPからはIEを使ってアクセスし、端末で作った
ファイル等はproftpdを使ってアップロードします。
問題なのは、端末から「日本語のファイル」をアップロードし、そのリンク先を
htmlに記述(a href = "xxxx/技術情報.xls")してアクセスさせるとエラーが
発生します。
【エラー】
Ojbect not found!
Error 404
htmlの記述内容を(a href = "xxxx/gijyutu.xls")にするとうまくDLできます。
IEの設定で、"常にUTF-8として、〜"のチェックを外した端末では(a href = "xxxx/技術情報.xls")が正常にDL可能です。
サーバー側の設定変更だけで、日本語ファイルのアップロードを可能にしたいです。
ご教授願いたいと思います。
士元
会議室デビュー日: 2003/05/15
投稿数: 15
投稿日時: 2004-12-15 19:08
問題は色々有ると思いますが・・・
そもそも日本語ファイルを扱うこと自体がオカシイ気がします。
fujiさんが認識しているとおり文字コード系の問題だとは思いますが・・・

日本語ファイルでアップロード・ダウンロードさせたいのであれば
DAVを使ってするのが個人的には良いと思います。
他に有るとしてもanonymousFTPで落とすほうが現実的ですね(文字化けすると思いますが)
外しているかもしれませんが、いかがでしょうかね?

fuji
常連さん
会議室デビュー日: 2004/02/04
投稿数: 34
投稿日時: 2004-12-15 20:34
士元様
返答ありがとうございます。
実は社内のイントラネットなので、Windowsに近づけたいと思い日本語ファイル名で
作ったhtmlをアップしてもらおうと思いました。
アップロードするたびに英数半角のファイル名にするのも大変なので。
unixがEUCの文字コードである以上はサーバー設定変更が不可だとわかりました。
IEの設定で乗り切りたいと思います。
ありがとうございます。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-12-15 22:32
こんばんわ.
引用:

fujiさんの書き込み (2004-12-15 20:34) より:

実は社内のイントラネットなので、Windowsに近づけたいと思い日本語ファイル名で
作ったhtmlをアップしてもらおうと思いました。


そのような用途のために Samba があるのでは?
apache + proftpd 併用だと,
client 側では www browser と ftp client を併用することになりますよね?
効率悪い気がしますが...
Windows Like に使えたほうが良いのでは?
fuji
常連さん
会議室デビュー日: 2004/02/04
投稿数: 34
投稿日時: 2004-12-16 11:56
kazさんが言われるとおり、sambaも併用していてファイル共有などに使ってます。
ただ、簡単な案内や意見を書いてもらうのにファイルサーバー上のファイルを開くよりhtml文書を作ってサーバーにアップした方が探す手間も省けると考えました。
で、アップロードする際に大抵日本語でファイル名をつけるのでそのままあげれば
楽でそういった方法がないか質問をしました。
samba側では文字コード変更を行ってうまく行ったのですが・・・
HM
会議室デビュー日: 2005/09/20
投稿数: 10
投稿日時: 2005-09-20 23:14
外しているかもしれませんが、サーバ上のweb公開ディレクトリをsambaで共有できるようにすればよいのではないでしょうか。
(もちろん書き込みできるユーザ名等に応じたアクセス権の設定は必要と思いますが)

[ メッセージ編集済み 編集者: raiser_lemon_HM 編集日時 2005-09-20 23:15 ]
jk
ベテラン
会議室デビュー日: 2005/08/19
投稿数: 94
投稿日時: 2005-09-21 01:20
ftpツール等でupした場合は大抵はファイル名が送信先のエンコードに合わされて送信されます。

apacheのaccess_log,error_logを見れば「あぁ確かにFileNotFoundだわぁ」と納得できるログが出力されていると思います。多分....

一番簡単な解決方法は
<a href="xxxx/技術情報.xls">技術情報.xls</a>

の部分をurlエンコーディングを書ければ問題なくダウンロードできると思います..

ex)サーバ側の環境がeuc-jpの場合
<a href="xxxx/%b5%bb%bd%d1%be%f0%ca%f0.xls">技術情報.xls</a>

ex)サーバ側の環境がShift_JISの場合
<a href="xxxx/%8b%5a%8f%70%8f%ee%95%f1.xls">技術情報.xls</a>

あとはJavaScriptなどでOnClickなどのイベントにエンコードする仕組みをつければいいと思います....が、IE6などではJavaScriptはUTF-8で動作するようですのでurlencodingにはちょっと技が必要になると思います。JavaAppletを使うとか...(^^;

ちょっとお酒が多少入っているので文章が変かもしれませんが、お許しをm(__)m
1

スキルアップ/キャリアアップ(JOB@IT)