🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

Q&A

解決済

2回答

3537閲覧

Javascript フォルダ形式でファイル出力

friskblack

総合スコア3

JavaScript

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

0グッド

0クリップ

投稿2020/11/27 09:35

Javascriptで数個のファイル作成し、
onclick時に、フォルダ形式でまとめて出力したいのですが
javascriptでは上記のような処理は可能でしょうか?

ご教授いただければ幸いです。

試したこと

単一のバイナリファイルでしたらBlobを用いて作成できることは確認できました

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

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

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

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

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

yambejp

2020/11/27 09:36

> フォルダ形式 とはなんでしょう?
friskblack

2020/11/27 10:31

言葉足らずで申し訳ございません。 windowsでいうようなディレクトリのことを示したつもりで、 C- --A.txt --B.txt のような形を想定していました
guest

回答2

0

ベストアンサー

onclick時に、フォルダ形式でまとめて出力したい(中略)可能でしょうか?

出力が「画面上への表示」という意味なら、ツリー表示する yambejp さんの回答通りです。

「試したこと」の項目より
単一のバイナリファイルでしたらBlobを用いて作成できる

もし、「ブラウザが稼働するマシンのファイルシステム関連操作」を意図しているのであれば、回答は できませんとなります。


ブラウザ側のJavaScriptでは、ブラウザ利用者(ウェブページ閲覧者)のOS上にあるファイルシステム関連操作には強い制限がかかります(セキュリティ上の理由)。

できることといえば、ファイル選択ダイアログを経由した、単一または複数のファイルの取り扱いになり(ダウンロード時は、ブラウザ内での「ダウンロード先の設定」次第)、フォルダに対する操作(作成・移動・削除)はできません。

代替案としては、jszip.js などのライブラリを用いて、単一の圧縮ファイルを生成する(ダウンロードさせる)方法があります。
一般的な閲覧者にも扱いやすい形になるのではないでしょうか(Windowsユーザであれば、「圧縮フォルダ」として中身を操作できるはずです)。


NodeJS を応用してネイティブアプリ化するような状況(Electronなど)ですと、普通にNodeJSの実装を用いてディレクトリ操作もできそうですが、それについては割愛します。

投稿2020/11/28 00:09

AkitoshiManabe

総合スコア5434

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

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

friskblack

2020/12/01 08:38

回答ありがとうございます。 疑問が解決いたしました。 jszipのどのライブラリを用いたいと思います。
guest

0

よくわからないですがul-liなどリスト形式で表示すればよいのでは?

投稿2020/11/27 12:04

yambejp

総合スコア116661

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問