2016-11-11 16 views
-3

PLUploadライブラリ(PLUpload)を使用してファイル.txtをアップロードするページがあります。私は、ブラウザのすべてのクライアントコンピュータでテストしたときに、それが働いた:ASP.NETでWindow Server 2008R2でファイルをアップロードする際のIE11でのセキュリティエラー

The process cannot access the file 'SystemPath\Test.txt' because it is being used by another process.

ウェブサイトの書き込み:このウェブサイトをホスティングしているところ、私は窓のサーバーでテストするときIE、Chromeは、FF ...しかし、それはエラーを投げます根本的な原因はWindow Serverのセキュリティに関するものだと私は思う。エラーコードはError#-200:HTTP Errorです。

  using System.IO; 
      MemoryStream uploadStream = new MemoryStream();     
      using (FileStream source = File.Open(tempFile, FileMode.Open)) 
      { 
       source.CopyTo(uploadStream); 
      } 

質問:なぜIEはちょうどのみ窓Serverとどのようにそれを修正するために、そのエラーをスローここ

は、コードがするとき、アップロードのですか?

+3

そのコードは何もアップロードされず、サーバーサイドコードのように見えます。アップロードのための実際のコードとそのサーバー側の処理方法が必要な場合があります。アップロードしたファイルを保存する場所を知ることは特に便利です。 –

+0

最初のアップロード後にストリームを閉じる必要があります。また、サーバーにファイルをアップロードするときに、アプリケーションがIISで実行されている場合は、chmod 777(full-write)としてアップロードフォルダを設定し、ファイルパスのルートパスを定義する必要があります。これは完全修飾ファイルパスと呼ばれます。 ps:ストリームにファイルを書き込む前に、ストリームの先頭にいることを忘れないでください。それ以外の場合、コンテンツは空になります。 –

答えて

2

ファイルをロックするさまざまなプロセスがあります。エラーがあるProcess cannot access the file because it is being used by another process

ので:C# file is being used by another process

ジョアン・ソウザは、それが行われたとき、それは、ファイルへのすべての接続を処分することを確認するために、コードをチェックをお勧めします。

エリックリッペルトは、それがウイルス対策できることが示唆しましたファイルシステムからのもので、ファイルシステムとやりとりするものはファイルをロックしている可能性があります。これらはあなたのエラーの原因ではないかもしれませんが、探し始めるには良い場所です。

関連する問題