質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

3771閲覧

JavaScriptでローカルのフォルダー内ファイル全読み込み。

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/04/25 12:59

編集2019/04/25 16:03

###JavaScriptでローカルのフォルダー内ファイル全読み込み。
JavaScriptでローカルのフォルダーを指定したらその中の画像ファイルを全部表示するにはどうすればいいですか?
追加:サーバー上にhtmlはあって、ローカルのフォルダーを参照。

これのフォルダーを指定して、その中の画像を全部表示ってできないですか?

html

1<style> 2 .thumb { 3 height: 75px; 4 border: 1px solid #000; 5 margin: 10px 5px 0 0; 6 } 7</style> 8 9<input type="file" id="files" name="files[]" multiple /> 10<output id="list"></output> 11 12<script> 13 function handleFileSelect(evt) { 14 var files = evt.target.files; // FileList object 15 16 // Loop through the FileList and render image files as thumbnails. 17 for (var i = 0, f; f = files[i]; i++) { 18 19 // Only process image files. 20 if (!f.type.match('image.*')) { 21 continue; 22 } 23 24 var reader = new FileReader(); 25 26 // Closure to capture the file information. 27 reader.onload = (function(theFile) { 28 return function(e) { 29 // Render thumbnail. 30 var span = document.createElement('span'); 31 span.innerHTML = ['<img class="thumb" src="', e.target.result, 32 '" title="', escape(theFile.name), '"/>'].join(''); 33 document.getElementById('list').insertBefore(span, null); 34 }; 35 })(f); 36 37 // Read in the image file as a data URL. 38 reader.readAsDataURL(f); 39 } 40 } 41 42 document.getElementById('files').addEventListener('change', handleFileSelect, false); 43</script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/04/25 15:35

読み込んでそれをどうするのでしょうか
退会済みユーザー

退会済みユーザー

2019/04/25 15:36

表示したいです。
退会済みユーザー

退会済みユーザー

2019/04/25 15:37

修正しました。
退会済みユーザー

退会済みユーザー

2019/04/25 15:46

ブラウザの外のファイルシステムにアクセスはできません。 それができると、悪いことできちゃいます。
退会済みユーザー

退会済みユーザー

2019/04/25 16:01

アップロードとかあるじゃないですか。参照ボタンをクリックして、フォルダーを指定してもらったらそのフォルダーの中の画像を全部表示することもできそうじゃないですか。
退会済みユーザー

退会済みユーザー

2019/04/25 16:02

<style> .thumb { height: 75px; border: 1px solid #000; margin: 10px 5px 0 0; } </style> <input type="file" id="files" name="files[]" multiple /> <output id="list"></output> <script> function handleFileSelect(evt) { var files = evt.target.files; // FileList object // Loop through the FileList and render image files as thumbnails. for (var i = 0, f; f = files[i]; i++) { // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function(theFile) { return function(e) { // Render thumbnail. var span = document.createElement('span'); span.innerHTML = ['<img class="thumb" src="', e.target.result, '" title="', escape(theFile.name), '"/>'].join(''); document.getElementById('list').insertBefore(span, null); }; })(f); // Read in the image file as a data URL. reader.readAsDataURL(f); } } document.getElementById('files').addEventListener('change', handleFileSelect, false); </script>
退会済みユーザー

退会済みユーザー

2019/04/25 16:36

サーバー側のフォルダ内ではないです。 HTMLはサーバー、参照するのがローカルです。
miyabi_takatsuk

2019/04/26 06:33

昔、私も同じことをしたかったですが・・・。できないんですよねー ブラウザ側で、HTML上の仕組みのinput type="file"などしか機能しないようになっています。 ockieさんのおっしゃる通りです。 HTML側(ブラウザ)にとっては、ローカル領域も、”一つのサーバー”との認識になります。 とにかく、HTMLがサーバーにあろうがなかろうが、クライアントサイド(HTML、JavaScript)側から、ファイル領域を参照することはできません。 なぜなら、それができてしまうと、第三者が、JSを使って、ネットワークを介して不特定多数のマシンをコントロールできてしまいます。 セキュリティ上の問題です。 そういった悪さをできないよう、ブラウザ側で制限をしているんです。 IEは最近、重大なセキュリティホールがまた見つかったようですけどね・・・。
退会済みユーザー

退会済みユーザー

2019/04/26 06:35

ということは、、、ドラックしたら画像を表示することはできても、フォルダーを選択してその中の画像ファイルの表示することはできないんですか。
miyabi_takatsuk

2019/04/26 06:38

kei344さんのご回答の通りやってみてください。 もしかしたら、一覧の表示だけならできるかも・・・。
退会済みユーザー

退会済みユーザー

2019/04/26 06:39

<input id="file" type="file" name="upfile[]" webkitdirectory>これでいける?
miyabi_takatsuk

2019/04/26 06:41

まずは、kei344さんのご回答通りにやってみてください。
guest

回答2

0

基本的にはできません
もしできるブラウザがあればそれはセキュリティ上の重大な欠陥もしくはバグです
どうしても参照する必要があるならローカル側でリストを得るバッチを作り
クローラー(アップローダー?)でサーバー側に送りつけてやることです
クライアント側の任意のトリガーが必要になります

投稿2019/04/26 01:13

yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

ドラッグ&ドロップで拾えばファイルリストも採れるかもしれません。

【ファイルリストを書き出してくれるWebアプリを作りました - Qiita】
https://qiita.com/megurock/items/59378a3dca535310d3fb

【JavaScriptを使ってWebブラウザにディレクトリをドラッグ&ドロップしよう! - Qiita】
https://qiita.com/wannabe/items/2b2f59a626313a8f58d4

投稿2019/04/25 16:18

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問