WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:<input type="file">の文字数制限について

style [MAIL] [WriteDate : Wed Jun 6 11:30:48 2001]

お世話になっております。
表題の件につきまして質問させてください。

現在クライアントからサーバにファイルをアップロードするCGIを
作成し、動作させているのですが、以下の問題が発生しております。

●『<input type="file">』でファイル名を入力した際、261バイト以上の文字が切り捨てられてしまうため、
 パスの長さが最大261バイトしか入力できない。

 上記問題が発生するブラウザはネットスケープ4.7のみです。
 IEでは起こりません。

 MAXLENGTHを1024などに指定した場合でも、全く指定しなかった場合でも現象は同じでした。

上記の問題について、ブラウザの制限なのか、他に回避方法があるのかの切り分けが付かなくて困っております。
どなたか情報をご存知の方がおられましたら、ご教授いただけますと大変助かります。

以上、よろしくお願いいたします。


バギンズ [WriteDate : Wed Jun 6 12:35:43 2001]

Windowsの場合ですが、MAX_PATH(フルパスの最大サイズ)が260に設定されていますので、実際には260バイト以上のフルパス名が使える場合であっても、内部的に260バイトのパス名格納エリアしか用意していないが為に260バイトの制限になってしまうアプリケーションは結構多いと思われます。

マイクロソフト製品においても、この制限があるものがたくさんあるようです。
例)
http://www.microsoft.com/JAPAN/support/kb/articles/JP257/6/19.HTM?LN=JA&SD=SO&FR=0

ネスケ4.7がその原因によって260バイトまでとなっているのかどうかはわかりませんが、Windows的には好ましくないパスのサイズと考えるのが妥当と思われます。

Windows以外のOSはどうなのかな?


style [MAIL] [WriteDate : Wed Jun 6 12:44:33 2001]

バギンズさん、回答ありがとうございます。
OS自体にフルパスの最大サイズの仕様があり、様々なアプリケーションがその仕様に準拠しているため、
260バイト以上の文字は切り捨てられる場合がある、ということなのですね。
そして、おそらくはネスケ4.7もそれに準拠している可能性が有るということなのだと納得しました。

実は納品した先のお客様からクレームがあり、それで調査しておりました。
おかげさまで明確な回答ができそうです。
お忙しい中回答して頂き、大変ありがとうございました。

以上により、完了とさせていただきたいと思います。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World