2012-02-03 14 views
1

私はlocalhostでWebサイトをホストしており、FileUploadControlを使用してImageServerという別のサーバに画像ファイルをアップロードする必要があります。リモートサーバのフォルダへの書き込み権限

if (FileUploadControl.HasFile) 
    { 
     try 
     { 
      string filename = Path.GetFileName(FileUploadControl.FileName); 
      FileUploadControl.SaveAs(@"\\ImageServer\" + filename); 
     } 
     catch (Exception ex) 
     { 
      throw; 
     } 
    } 

しかし、私は画像を提出しようとするとすぐにこの権限エラーに当たった。

例外の詳細:System.UnauthorizedAccessException: '\ ImageServer \ xxx.jpg'へのアクセスが拒否されました。

ASP.NETは要求されたリソースにアクセスする権限がありません。 ASP.NET要求 アイデンティティへのリソースへのアクセス権を与えると考えてください。 (MACHINE)\ ASPNET(IIS 5ではネットワークサービス、IIS 6ではネットワークサービス)は、アプリケーションが偽装していない の場合に使用されます。アプリケーションが で偽装されている場合、匿名ユーザー(通常はIUSR_MACHINENAME) または認証ユーザー がユーザーIDになります。ファイルへのASP.NETアクセスを許可するには、エクスプローラでファイル を右クリックし、[プロパティ]を選択して[セキュリティ]タブを選択します。 「追加」をクリックして、適切なユーザーまたはグループを追加します。 ASP.NET アカウントをハイライト表示し、必要なアクセスのチェックボックスをオンにします。

ネットワークサービス、IUSR、IIS AppPool \ Image、およびEveryoneにフルコントロールが付与されています。他に何が欠けているのでしょうか?自分のローカルホストにファイルを書き込ませるためにImageServer上の画像フォルダにどのパーミッションを与えるべきかわかりません。

P/S:IIS 7.5

を使用して、両方のサーバーは、手動でWindowsエクスプローラ経由ImageServerの\を\\にファイルをコピーし、メインのトリックはImageServerの\\で指す仮想ディレクトリを作成することです

+0

そのユーザーのフォルダに書き込みアクセス権をチェック... – Madhu

答えて

0

かかわらず動作します\ 。

私は記事hereを見つけました。 IIS 6についてはありますが、IIS 7でも動作することは問題ではないと思います。

関連する問題