2011-10-29 6 views
0

iframe内の.doc/docx/.csv/.txt/.xlsなどの標準形式でファイルを開く必要があるWebアプリケーションがあります。どうすればこれを達成できますか?私は以下のサンプルコードを使用してみましたが、iframe内のすべてのファイル形式を開くわけではありません。 XMLエラーが発生しています。iframe内の任意の拡張子のファイルを開く

var ext = GetExtension(fileName); 
     switch (ext) 
     { 
      case "pdf": 
       Response.ContentType = "Application/pdf"; 
       break; 
      case "htm": 
      case "html": 
       Response.ContentType = "text/html"; 
       break; 
      case "txt": 
       Response.ContentType = "text/plain"; 
       break; 
      case "doc": 
       Response.ContentType = "Application/vnd.ms-word"; 
       break; 
      case "xls": 
      case "csv": 
       Response.ContentType = "Application/vnd.ms-excel"; 
       break; 
      case "ppt": 
      case "pps": 
       Response.ContentType = "Application/vnd.ms-powerpoint"; 
       break; 
      default: 
       Response.ContentType = "Application/unknown"; 
       break; 
     } 
     if (Response.ContentType != "Application/unknown") 
     { 
      Response.Flush(); 
      Response.WriteFile(fileName); 
      Response.End(); 
     } 
+1

代わりに 'Response.Flush()を、しようとする一つのこと書くことができます;' '使用Response.Clearを();' –

答えて

0

試し

Response.BinaryWrite(File.ReadAllBytes(filename)); 

を試してみてください。 PDF

Response.AppendHeader("Content-Disposition", "attachment; filename=file.pdf") 

のためのような、その後、あなたはまた、

Response.BinaryWrite(File.ReadAllBytes(filename)); 
Response.Flush(); 
Response.End(); 
0

あなたがここに正確な[EXTENSION]を交換する必要があり、このヘッダ

Response.AppendHeader("Content-Disposition", "attachment; filename=file.[EXTENSION]") 

を追加したファイル名は、ファイルのフルパスです