2011-07-14 157 views
1

您好我使用FileStream上傳文件到Web服務器,我使用的是asp.net,當我使用Chrome或Firefox時,上傳工作正常,但是當我使用IE時,該文件已損壞或損壞,我無法打開它。 這裏是我已經調試代碼FileStream.Write上傳圖像,但損壞或損壞

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插件上傳文件,因爲它不需要Flash在Brower上,看看這裏http://valums.com/ajax-upload/, 所以在使用firefox和chrome,文件流在Request.InputStream中,但是當使用IE時,流在Request.Files [0] .InputStream中。這就是爲什麼我無法正確保存圖像文件的原因。 謝謝 – danmiao

回答

0

我會比較這些文件...使用像winmerge這樣的工具來查看和查看正在上傳和保存的文件之間有什麼不同。

一旦你看到差異,你可能可以糾正這種情況。例如,IE可能會在文件末尾發送一個額外的字節...這會使其看起來損壞,您可以根據用戶代理將其關閉...

GL

+0

我發現了答案,我用 – danmiao