
ryouchiです。
現在下記環境でWebブラウザよりファイルのアップロードを行うサーバアプリケーションを作成しています。
---
Webサーバ:WindowsNT4.0 SP4+IIS4.0+ColdFusion4.5
クライアント:
Windows 95/98/ME/NT WorkStation
InternetExplorer(4.0/4.5/5.0/5.5)
Netscape Communicator 4.7
MacOS 8.1/8.6/9.04
Netscape Communicator 4.7
---
Macでは「:」はディレクトリセパレータとしてシステムが利用しているので「:」を含むファイル名は使えません。
Windowsでは「/」「\」・・・などは使えません。
NTサーバが認識不可能なファイル名のついたMacのファイルをアップロードする際に、<input type="FILE">で選ばれたファイルがWindowsまたは、Macで使えないファイル名ならばJavaScriptでチェックしアラートを表示するようなことは可能でしょうか?
また、<input type="FILE" name="fname">でファイルを選択したとき、このfnameのvalueには絶対パスが入ると思うので単純にvalueの値に未使用の文字が使われているという判断では不十分です。
Macから「Macintosh HD:12/1データ_1.doc」というフォルダ下にあるファイルは「/」が含まれているため送信できないようにしたいのですが、上記のvalueの判断のみでは、「Macintosh HD:12/1フォルダ:データ_1.doc」というデータも絶対パス内に/が入っているため送付できません。
またサーバ内では送信したファイル名はクライアントのマシンで付いていた名前を利用したいので、サーバ側で適当な名前をつけることは考慮しません。
要するに<input type="FILE">を用いたファイルアップロードの際、Mac・Winのどのブラウザからでも送られるファイル名をチェックし、問題のあるファイル名ならば送信できない(アラートを表示)したいのです。
有識者のかた、よろしく御教授ください。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>(JavaScriptで絶対パスをGetした場合)では「/」がセパレータとなっているようです。
質問の趣旨を勘違いしていたようです。ごめんなさい。m(_ _)m
Javascriptで絶対パスをGetするのではなく、INPUTタグのValueを引いてもダメなんですか?
とするとJavascriptではなくCGI側で判断してするしかないのではないでしょうか?
とりあえず、Web検索で見つけたCGIのURLをつけます。
参考にもならなくなってしまってすみませんxxx
参考URL:http://obata.sinnet.ne.jp/cgi/imgboard.5cgi
No.1
- 回答日時:
ソースで提案できなくて申し訳ありませんが、下記のような方法では取れないでしょうか?
(イベントはONCLICKがいいかと思います。)
1.正規表現を用いて、ファイル名のみを抽出
送信されたファイル名の最後のセパレータ(Macの場合は「:」、Winの場合は「\」)の後ろ側全て、という抽出方法で、取れると思います。
2.抽出したファイル名から使用不可の文字を検出
3.使用不可の文字があればアラート、そうでなければ(CGIへ?)SUBMIT
なにがしかのヒントになれば幸いです。
さっそくの御回答ありがとうございます。
調べてみた結果、Macの場合はファインダー上では、「:」がセパレータになっているのですが、ブラウザ上(JavaScriptで絶対パスをGetした場合)では「/」がセパレータとなっているようです。
ですから、ファイル名が「test_1/1.pdf」というファイル名(Macではこれはファイル名としてつけられる)は、最後のセパレータ以降を取得すると、「1.pdf」となり、違うファイル名として認識されてしまうのです。
なので、実際の解決方法として、少し悩んでいる次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
Access VBA を利用して、フォル...
-
特定のエクセルファイルを起動...
-
VBAでCSVファイルが使用中かど...
-
共有フォルダに誰が何にアクセ...
-
事務の派遣で働いています。多...
-
『ファイルの上書きの確認』ダ...
-
社内Excel共有ブックでの保存ト...
-
Batch: フォルダ内の特定のファ...
-
excelを共有ファイルにすると行...
-
大量のCSVデータを行列の変換を...
-
月が変わったら自動でシートが...
-
相手のPCにVBAからメッセ...
-
JSONファイルの置き場所について
-
Access2002 信頼できず開けま...
-
mdbファイル フォームを開くと...
-
WEBクエリが使えない場合のHPデ...
-
batファイル、コマンドプロンプ...
-
拡張子が「cda」のファイルを聞...
-
【アクセス】「ほかのユーザー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
共有フォルダに誰が何にアクセ...
-
excelを共有ファイルにすると行...
-
社内Excel共有ブックでの保存ト...
-
AccessVBAで作成したExcelファ...
-
事務の派遣で働いています。多...
-
VBAでCSVファイルが使用中かど...
-
拡張子が「cda」のファイルを聞...
-
Access VBA を利用して、フォル...
-
(Excelマクロ)datファイルをエ...
-
【VBA】異なる行だけを抜き出す...
-
【アクセス】「ほかのユーザー...
-
Excel VBA 処理後データが重た...
-
相手のPCにVBAからメッセ...
-
access関数を説明できる方いま...
-
XMLデータを変換し印刷する方法
-
WEBクエリが使えない場合のHPデ...
-
メールで送られてきたワードの...
おすすめ情報