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

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

新規登録して質問してみよう
ただいま回答率
85.39%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

15374閲覧

UnauthorizedAccessException: Access to the path '...' is deniedの対処方法について

SeiSeis

総合スコア12

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/08/28 05:48

編集2020/08/29 01:25

現在ゲーム上でキャプチャした画像を保存しようとしているのですが、ファイルを書き込もうとすると載せている最後の行にあるように
UnauthorizedAccessException: Access to the path '...' is denied
と言われてしまいました。
アクセスが拒否された、ということで理由はいろいろありそうですが、自分で行ってみた方法ではどれも効果がありませんでした。

・指定フォルダのプロパティから「読み取り専用」のチェックを外す。
・管理者権限のアカウントでUnityも管理者として実行する。

これらを試してみましたが効果はありませんでした。
他にどのような対策があるか、どなたか知恵をお貸しください

c#

1 Texture2D tex = new Texture2D(CamTex.width, CamTex.height, TextureFormat.RGB24, false); 2 RenderTexture.active = CamTex; 3 tex.ReadPixels(new Rect(0, 0, CamTex.width, CamTex.height), 0, 0); 4 var TodayNow = System.DateTime.Now; 5 fileName = eventName + "_" + TodayNow.Year.ToString() + "_" + TodayNow.Month + "_" + TodayNow.Day + "_" + TodayNow.ToLongTimeString() + "_" + takingPictures.Count + ".png"; 6 tex.name = fileName; 7 tex.Apply(); 8 9 byte[] bytes = tex.EncodeToPNG(); 10 var path = Path.Combine(Application.persistentDataPath, "Pictures", fileName); 11 Debug.Log(path); 12 File.WriteAllBytes(path, bytes);

こちらでも回答を募っています
UnauthorizedAccessException: Access to the path '…' is deniedの対処方法について

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

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

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

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

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

guest

回答2

0

ベストアンサー

スクリプトで指しているPicturesフォルダを一旦別名にリネームか削除して改めてPicturesフォルダを作るとどうでしょうか?

投稿2020/08/28 13:54

shiena

総合スコア1827

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

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

SeiSeis

2020/08/29 01:27

先ほどご指摘の通り、いったんフォルダを消してから再度フォルダを作ってパス指定したところうまくいきました! 原因は正直よくわかりませんが、おかげで助かりました!ありがとうございます!
shiena

2020/08/29 06:06

プロパティの権限からは問題なさそうなのにアクセスできない事が稀にあります。 原因を追求しておくと再発防止できるのですがほとんど発生しないなら今回のように新しくフォルダを作り直すだけでも十分だと思っています。
guest

0

そもそも、その'...'のパスは存在してるんでしょうか。
存在しないディレクトリには書き込みできませんよ

投稿2020/08/28 05:50

y_waiwai

総合スコア87981

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

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

SeiSeis

2020/08/28 06:01 編集

「...」は伏せているだけで、ディレクトリ上にはこのパスがあるのを確認しています。 それにもしパスが存在しなければ Directory not found Errorが発生するのではありませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.39%

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

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

質問する

関連した質問