初めて利用させていただきます。初心者の為、できれば詳細なご回答いただけると嬉しいです。
早速ですが、<input type="file">の実行結果は、テキストエリアの横に【参照】ボタンがあるような状態になります。
このテキストエリアの部分に複数のファイルをどんどん選択して格納できる方法を探しております。
イメージとして、3行くらいがデフォルト表示のテキストエリアがあり、その横に【参照】と【削除】ボタンが上下に並び、
参照で選択したファイルがそのテキストエリアに格納されてゆき、3行を超えるとスクロールバーが表示される、
格納されたあるファイル名を反転させて【削除】選択で削除される、
というものを作りたいのです。
今回、クライアントの要望で添付ファイルは1000個まで選択可能という状態を実現しなくてはならず、<input type="file">を1000個並べる訳にもいかない為、とても困っております。
且つ、java script禁止令を出されています。
ファイル形式はjspですので、formのactionでサーバ側で処理を制御することは可能です。
念の為、私が探し出したソースで一番理想に近いものを併記致します。
<table>
<tr>
<td rowspan="2" nowrap><select name="File" size="3" multiple>
<option value=""> </select></td>
<td>
<iframe width="60" height="25" frameborder="no" scrolling="no" src="とあるexeファイルを指定"></iframe>
</td>
<td rowspan="2" valign="top" nowrap><font size="-1">「参照...」ボタンをクリックして<br>ファイルを指定してください。</font></td>
</tr>
<tr>
<td nowrap><input type="button" value=" 削除 " onClick="RemoveFile( this.form )"></td>
</tr>
</table>
No.3ベストアンサー
- 回答日時:
ファイルフィールドを5個くらいにして、
ホスティングサービスなどで使われているいわゆるファイルマネージャーや、
ブログのファイルアップロード画面(アップロード済みファイル管理画面)みたいな物が現実的じゃないでしょうか。
(これらは通常はクライアントサイドスクリプトやブラウザプラグインなどを使いません)
同時に1000個とか、ディレクトリ(フォルダ)指定で送信というのは、
HTMLやJavaScriptではできません。
(やってやれなくはないですが、ご存じの通り(ご想像の通り?)<input type="file">が1000個並ぶことになります)
VBScriptなら、フォルダ指定ダイアログを使ったりとか、ファイル選択ダイアログのカスタマイズができるかもしれませんが、、、
JAVAAppletでもファイルの保存は制限されると思うので、
ファイルを選択->Appletで圧縮してメモリ内にデータを保存、
ファイル名はそのまま表示、
送信時には、メモリ内のデータを送信
という流れで出来るんじゃないでしょうか。
(とはいえ、1000個のファイルを1度で選択するダイアログを表示出来るかどうか、、、)
1000個も送るなら、むしろFTPを使った方がいいと思うのですが、、、
FirefoxのFireFTPとか、メジャーなブラウザも簡単なFTP機能を持っていますから。
ありがとうございます。
当初の疑問であった『ファイルを複数格納できるテキストエリア』については簡単には解決できそうにないので、今回は諦めることに致しました。
なので、この質問を閉めようと思います。
私なりの対処法としては、やはりJavaAppletを埋め込んで、
圧縮対象は
.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY)
でフォルダに絞って、そのフォルダの中に1000個入ってたらそれで良し、としようかと…
ただ、今回の対象になるファイルが画像ファイルに限定されるかもしれないので、
もし指定されたフォルダの中に画像以外のファイルがあったらどうするのか、などの問題は残るのですが。
(無視するかfilefilterを設定するべきか)
現状、Appletの動作状況が芳しくないので、srcは公開できませんが、
頑張ります。
ご返答くださったお二人に感謝いたします。ありがとうございました。
No.2
- 回答日時:
一度におくれるサイズの制限とかもきびしめなので、いずれにしても
1000となると非現実的かもしれませんね。
また1000も欄をつくってしまうと、作業上もかなり問題になりそうですので
何度かにわけてやる必要があると思いますが・・・。
No.1
- 回答日時:
必要ファイル数入力→サブミット→必要ファイル数分file領域確保
とすればよいでしょう。
type=fileはセキュリティが特にきびしいので、そんなに調整が
ききませんので
早速のご回答、ありがとうございます。
参考にさせていただきます。
ただ、その方法ですと、実際ユーザが1000近いファイルを指定したいとき、正確な数値を要求するのはムリがあると思われます。
現時点で回避方法として、Java Appletで【フォルダ参照】ボタンを作成し、
送信したいファイルを詰め込んだフォルダをユーザに選択させて、
【OK】でフォルダを圧縮して<type=file>のテキストエリアに挿入、
というのは考えております。
その場合でも、ファイル(圧縮されたフォルダ)を格納するテキストエリアは複数表示可能が希望なので、
引き続き、良いご回答をお待ちしたいと存じます。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
空のファイル
-
VBAでサーバーにアクセスするに...
-
JAVAで別サーバーのファイルの...
-
CGIでソースがそのままでてしま...
-
-T(汚染モード)でメールが送れ...
-
CGIの起動が遅い
-
HTTP 501未実装 エラーについて
-
gethostbyaddrからリモートホス...
-
ラジオボタンのグループ化
-
perl 矢印演算子 -> の使い方
-
C言語のapacheの設定
-
VBAを使用して、外部サーバのフ...
-
SSI(<!--#exec cmd="./XXXpl")...
-
掲示板のスレッドが消えた!?
-
FTPにて553エラー
-
cgiでのアクセスカウンターの表...
-
ユーザの所属するグループを取...
-
perlからphpを実行して結果を得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
VBScriptで、ファイルから任意...
-
VBAでサーバーにアクセスするに...
-
JAVAで別サーバーのファイルの...
-
C# ファイル削除のエラーコード
-
最新の状態を誤って過去の状態...
-
離れた場所からEXCELファイルを...
-
tplファイルのプレビューの方法
-
スタイルシートをアップしたい
-
サーバー上のフォルダ削除が出...
-
vbでFTPサーバーに対して、サー...
-
空のファイル
-
input type="file"で複数選択を...
-
Webフォルダでサーバーからイン...
-
basp21でのファイルアップロー...
-
検索ロボットが更新日を知る方...
-
サーバに転送後、IMGが消えてま...
-
EZweb用サイト、ソースが直接表...
-
エックスサーバー上へファイル...
おすすめ情報