2011-07-14 11 views
1

を破損し、アップロードが正常に動作しますが、私はIEを使用して、ファイルが破損しているか、破損している、私はそれを開くことができませんでした。 ここでは、例外は、ファイルは、サーバーに保存することはできなかったすべてが大丈夫です、私はすでにデバッグコードFileStream.Writeアップロード画像が、私はasp.netを使用しています、私はクロムまたはFirefoxを使用した場合こんにちは、私は、WebサーバーにファイルをアップロードするためのFileStreamを使用

try 
    { 

      using (fileStream = new FileStream(saveLocation, FileMode.Create, FileAccess.Write)) 
      { 
       var length = 4096; 
       var bytesRead = 0; 
       var buffer = new Byte[length]; 
       do 
       { 
        bytesRead = Request.InputStream.Read(buffer, 0, length); 
        fileStream.Write(buffer, 0, bytesRead); 

       } while (bytesRead > 0); 
       fileStream.Flush(); 
      } 
     } 
     catch 
     { 
      result = "{\"success\":\"false\"}"; 
     } 
     finally 
     { 
      if (fileStream != null) 

       fileStream.Close(); 
     } 

ですが、ただ、私はそれを開くことができませんでしたか?すべてのヘルプ、感謝そんなに

+0

、私はvalumsを使用AjaxのjQueryの使用している場合、それはブラウワーのフラッシュを必要としないので、ファイルをアップロードするアドオン、http://valums.com/ajax-upload/ここので を見てfirefoxとchromeの場合、ファイルストリームはRequest.InputStreamの内側にありますが、IEを使用する場合、ストリームはRequest.Files [0] .InputStreamの内部にあります。そのため、イメージファイルを正しく保存できませんでした。 ありがとうございました – danmiao

答えて

0

は、私が見て、アップロードし、保存されたファイル間で異なる、具体的内容を確認するためにWinMergeのようなツールを使用して...ファイルを比較します。あなたが違いを見たら

あなたは条件を修正することができるかもしれません。たとえば、IEがファイルの最後に余分なバイトを送信している可能性があります。これは、破損しているように見せかけているため、ユーザーエージェントに基づいて切り捨てることができます...

GL

私は答えを見つけた
+0

私は答えを見つけました、私は – danmiao

関連する問題