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

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

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

Blazorは、マイクロソフトが開発している.NETベースのWebアプリフレームワークです。C#でフロントエンドもバックエンドも一貫して書くことが可能。クライアントサイド(WebAssembly)とサーバーサイド形式のホスティングモデルがあります。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JavaScript

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

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

2回答

2109閲覧

Hosted Blazor WebAssembly でクライアントのローカルフォルダやファイルの一覧を web ページ上に表示したい

twyujiro15

総合スコア217

blazor

Blazorは、マイクロソフトが開発している.NETベースのWebアプリフレームワークです。C#でフロントエンドもバックエンドも一貫して書くことが可能。クライアントサイド(WebAssembly)とサーバーサイド形式のホスティングモデルがあります。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JavaScript

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

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2023/02/15 23:39

実現したいこと

クライアント上で動作する Blazor WebAssembly でローカルのフォルダやファイルの一覧を表示したいです。

セキュリティ上の制約として、ブラウザ側からローカルのファイルを直接覗けないようになっているということは知識としては知っていますが、例えば Jupyter Notebook ではブラウザからローカルのファイルシステムをがっつり読み書きしているので、Blazor でも同じことができるんじゃないかと考えています。

できれば C# コードのみで実装したいですが、JavaScript と連携する方法でも十分と考えています。

前提

.NET6 Hosted Blazor WebAssembly を使用して、Windows10 Pro 64bit 22H2 上で動かしています。

試したこと

C#/Blazor のほうは情報が拾えずまったく手が出せない状態です。

JavaScript 方面はよわよわなので、何をどう試せばよいのかがわからずここに投稿しています。

コードを一つも掲載できずに申し訳ありませんが、何か糸口になる情報を得られればと思いますのでご協力よろしくお願いします。

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

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

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

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

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

twyujiro15

2023/02/16 00:09

あ、もしかして Jupyter Notebook はローカルにサーバ立ててサーバとして動いているのか…?
退会済みユーザー

退会済みユーザー

2023/02/17 00:00

「クライアントのローカルフォルダやファイルの一覧を web ページ上に表示」はできないことが確認出来たらこのスレッドはクローズ願います。 別の対策を考えるなどで質問がある場合は、考えが固まったら新たに別のスレッドを立てて質問していただくようお願いします。
guest

回答2

0

自己解決

とりあえずファイル一覧のような機能はサーバ側からアクセスできる範囲に絞って表示するようにして、クライアント側のローカルファイルについてはドラッグ&ドロップ等で選択したものだけを扱えるようにしたいと思います。

投稿2023/02/23 22:49

twyujiro15

総合スコア217

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

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

退会済みユーザー

退会済みユーザー

2023/02/23 23:00

Web サーバーからクライアント PC のファイルにアクセスする手段は無いはずです。
guest

0

セキュリティ上の制約として、ブラウザ側からローカルのファイルを直接覗けないようになっているということは知識としては知っていますが、

そのとおりです。Blazor はクライアント側はブラウザなので JavaScript でできないことは基本できません。

HTML5 File API を使えば「ローカルのファイルを直接覗」くことはある程度できますが、クライアント PC の「フォルダやファイルの一覧を表示」は基本できません。

そもそも「フォルダやファイルの一覧を表示」して何をしたいのですか? それを書いてもらえると代案とかが出てくるかも。

投稿2023/02/16 00:32

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

twyujiro15

2023/02/16 02:35

回答ありがとうございます。 例えばあるデータを含む csv ファイルが複数あったとして、ページ上でリスト表示して、クリックしたら該当データがグラフで表示されるとかでしょうか。その csv ファイルは同じ WebAssembly から取得/保存させるかもしれないですし、WebAssemlby とは無関係にフォルダに放り込まれるかもしれないです。
退会済みユーザー

退会済みユーザー

2023/02/16 03:26

何をしたいのか上の説明では理解できないのですが? その CSV ファイルというのはどこにあるんですか? サーバーのどこかのフォルダ? クライアントが自分の PC のフォルダに持っているもの? どっちにせよ、結局やりたいことは CSV ファイルのデータをグラフで表示なんですか? それと質問に書いてあった「フォルダやファイルの一覧を表示」とは全くつながらないんですが、どういうこと?????
twyujiro15

2023/02/16 05:27

説明足らずですみません。 すべてクライアント側の話で、サーバは関与しません。 クライアント側のあるフォルダに csv が複数あったとして、まずはそれをリスト表示して選択できるようにならないかと考えています。 さらに、そのリスト表示にサブフォルダが含まれていて、サブフォルダを選択するとそのフォルダに移動できるようになるとなお便利かと考えています。
退会済みユーザー

退会済みユーザー

2023/02/16 07:53

すでに回答で述べた通り、クライアント側だけでは JavaScript でできることしかできないので、そういうことはできません。質問者さんが Blazor を選んだのはどういう理由か分かりませんが、選択が間違っているとしか思えないのですが・・・
退会済みユーザー

退会済みユーザー

2023/02/17 00:01

「クライアントのローカルフォルダやファイルの一覧を web ページ上に表示」はできないことが確認出来たらこのスレッドはクローズ願います。 別の対策を考えるなどで質問がある場合は、考えが固まったら新たに別のスレッドを立てて質問していただくようお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問