こんにちは、asp.net で画像をアップロードするときに問題が発生しているようです。画像をアップロードしようとすると、次のエラーが表示されます。
パス 'D:\Projects IDE\Visual Studio\MyWork\Websites\Forum\Images\avatar\userAvatars\aleczandru' へのアクセスが拒否されました。
アプリケーション プール ID を NETWORKSERVICE に設定し、完全な権限で NETWORK SERVICE アカウントを Images フォルダーに追加しましたが、それでも同じエラーが発生します。
これは私のコードです:
private void addImageToApp()
{
string path = "~/Images/avatar/userAvatars/" + User.Identity.Name;
createPath(path);
if( Directory.Exists(HostingEnvironment.MapPath(path)))
{
//try {
UploadImage.SaveAs(HostingEnvironment.MapPath(path));
// MultiViewIndex.ActiveViewIndex = 0;
//}catch(Exception ex)
//{
// AvatarDetails.Text = ex.Message;
//}
}
}
private void createPath(string path)
{
string activeDir = HostingEnvironment.MapPath("~/Images/avatar/userAvatars");
if( !Directory.Exists(Server.MapPath(path)) )
{
string newPath = Path.Combine(activeDir, User.Identity.Name);
Directory.CreateDirectory(newPath);
}
}
この問題を解決するために他に何ができますか?
編集
こんにちは、この時点で、私は次のユーザーに対して完全な権限を持っています:
- 認証済みユーザー
- IUSR
- システム
- ネットワークサービス
- IIS_WPG
- 管理者
- ユーザー
これを機能させるために、IIS に構成を設定する必要がある可能性はありますか?
編集
この作業を行うために、過去数日間SQL-SERVERをいじっていたので、NETWORK SERVICEがSQL-SERVER master.dbデータベースに格納されていると理解しているものから何かを誤って構成した可能性があります.2つのネットワークがあるようですサービス ログインが問題である可能性がありますか?最初に確認したときは何もなかったのを覚えています。
編集
これは、私がフォルダーに追加したパーミッションを使用した印刷です。
編集:完全なエラー
スタックトレース: