2009-08-31 4 views
0
public class UploadHandler : IHttpHandler 
    { 
     public void ProcessRequest(HttpContext context) 
     { 
     ... 

     // Create the directory if needed... 
     if (!Directory.Exists(uploadDir)) 
     { 
      System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity(RivWorks.AppSettings.UploadRoot, System.Security.AccessControl.AccessControlSections.All); 
      Directory.CreateDirectory(uploadDir, ds); 
     } 
     ... 
    } 

私は上記のASHXファイルのコードスニペットを持っており、ローカル環境で正常に動作します。サーバー環境にプッシュすると、エラーは発生しません。ディレクトリを作成したようですが、確認すると、そこにはありません。私がFLEXアプリケーションで実行すると、このエラーが発生します:ASP.NET C# - オンザフライでアップロードディレクトリを作成しますか?

Error #2038: File I/O Error. URL: http://[ourdomain].com/UploadHandler.ashx?CompanyID=d229cc80-ca96-4a8a-992c-80c94ac2c6b4

私には紛失しているものはありますか?

UPDATE:私は、ディスク

  • 上の任意の場所にファイルを作成することができます

    1. 私はディレクトリ どこでもディスク上に作成されませすることができます。

    ディレクトリを作成しようとしたとき、私は今、このエラーが出る:

    The process does not possess the 'SeSecurityPrivilege' privilege which is required for this operation.

  • +0

    あなたのウェブサイトと同じフォルダ(またはサブフォルダ)にフォルダが作成されていないことを確認してください。これにより、アプリケーションの再起動が発生します。 –

    +0

    しかし、それらがウェブサイトの範囲外で作成された場合、どのようにウェブにコンテンツを配信するのでしょうか?多くのウィジェットは、正しい画像パスに依存して作業を行い、ほとんどがASP.NET(Flex、Flashなど)にはありません。 –

    答えて

    2

    あなたはあなたのプログラムは、サーバー上の該当するディレクトリに正しいアクセス権を持っていることを確認しましたか?

    使用しているアカウントが制限されているか、またはディレクトリがロックダウンされているために適切な権限がないと、このエラーが表示されます。

    +0

    ASP.NETアカウント - 完全な権利、IUSR_マシン名 - 完全な権利、ネットワークサービス - 完全な権利。アカウントがないのですか? –

    +0

    http://mayurthakor.wordpress.com/2009/01/05/set-rightspermission-to-avoid-file-io-error-2038-in-flex-file-upload/ - 私はWindowsエクスプローラでこれをやっています、右クリック、プロパティ/セキュリティ.... –

    +0

    と私たちは投票*を押し上げ続けることができます*私の問題は修正されていません。 –

    0

    サイトはidentity impersonation = trueで動作していますか?もしそうなら、それはあなたの環境であなたの資格/権限の下で実行されます

    0

    ディレクトリを作成するためにmkdir()関数を使うだけです。 SERVERMAPPATH属性を使用できるパスを定義します。

    tryキャッチendtryブロック内で既存のまたは他のエラーを回避するために使用します。

    +1

    ようこそスタックオーバーフロー!この質問は約3年前に尋ねられ、うまく答えられました。最近質問された質問に回答し、質問には**受け入れられた回答**がありません。 –

    関連する問題