0

ディレクトリにディレクトリを作成し、ディレクトリ内uploadsにユーザーアカウントの作成時にディレクトリを作成します。この設定は開発設定では正常に機能しますが、ローカルでサイトを公開すると、アクセス拒否エラーが発生します。ContentuploadsIIS

パス「C:\ inetpub \ wwwroot \ Content \ uploads/d1bed3b7-f9e1-486a-953a-37abc7b99dad」へのアクセスが拒否されました。

私は共有ホスティング環境を持っています、私が聞きたい質問は、共有ホスティング環境に権限を設定することができますか?

選択肢は何ですか?

編集

これがユーザーのディレクトリを作成するためのコード(tnxから@Marko)です

string UserGUID = Guid.NewGuid().ToString();
string path = HostingEnvironment.MapPath(@"~/Content/uploads");
Directory.CreateDirectory(path+"/" + UserGUID);

編集

コードを変更した後、エラーメッセージが改善されました

パス'C:\ inetpub \ wwwroot \ Content \ uploads\ab569312-c487-4a08-bf49-99f7c69303f6'へのアクセスが拒否されました。

4

1 に答える 1

2

パスに問題があります、あなたは間違ったスラッシュを持っています/

C:\inetpub\wwwroot\Content\uploads--------->/<----------d1bed3b7-f9e1-486a-953a-37abc7b99dad'

パスに書き込み可能なアクセス許可がある限り、\uploads\そのフォルダー内に作成するフォルダー/ファイルはすべて、親からアクセス許可を継承する必要があります。

編集

カッシーニで機能する理由は100%わかりませんが、Path.Combine手動でスラッシュを追加するのではなく、コードをこれに変更してください(実際には間違ったスラッシュです)。

string UserGUID = Guid.NewGuid().ToString();
string path = HostingEnvironment.MapPath(@"~/Content/uploads");
string userPath = Path.Combine(path, UserGuid);
Directory.CreateDirectory(userPath);

これがすべて失敗した場合は、ホスティングプロバイダーに連絡して、/uploads/フォルダーへの書き込み可能なアクセス許可を設定するか、管理パネルがある場合はそれを使用してください。

于 2012-06-14T21:43:06.320 に答える