2016-08-22 2 views
0

私は.doc/.docxとpdfファイルをバイナリ形式のSQLデータベースに保存しました。私はそれらをWebブラウザで表示したいと思い、次のコードを使用しました。ここでは.pdfファイルに問題はなく、Webページに正しく表示されます。しかし.doc/.docxの場合、ウェブページには未フォーマットのデータが表示されます。SQLからWebページに単語ファイルを表示

DataSet ds = GetData(proID); 
      Byte[] bytes = (Byte[])ds.Tables[0].Rows[0]["Resume"]; 
      Response.Buffer = true; 
      Response.Charset =""; 
      Response.Clear(); 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 

      if (ds.Tables[0].Rows[0]["ContentType"].ToString() == ".doc" || ds.Tables[0].Rows[0]["ContentType"].ToString() == ".docx") 
      { 
       Response.ContentType = "application/vnd.ms-word"; 
      } 
      else if (ds.Tables[0].Rows[0]["ContentType"].ToString() == ".pdf") 
      { 
       Response.ContentType = "application/pdf"; 
      } 
      Response.BinaryWrite(bytes); 
      Response.Flush(); 
      Response.End(); 

それは「text/htmlの」としての.doc/.docxのファイルのコンテンツタイプを取り、これまでどのようにザ・.DOC/.docxのための条件が動作しない場合..誰も私にこれをやってもらうことはできますか?

+0

あなただけの "アプリケーション/ MSワード" – BugFinder

+0

雅として明らかにしてみました..私は、 "アプリケーション/ MSワード" で試してみました。しかし、それは.aspxページをダウンロードします。 – KaviSuja

+0

"Response.ContentType =" application/vnd.openxmlformats-officedocument.wordprocessingml.document ";"で試しました。しかし、それはDBから単語ファイルをダウンロードします。どこにブラウザ/ウェブページに表示したいのですか – KaviSuja

答えて

0

以下が有効です。

HttpContext.Current.Response.ContentType = "application/vnd.ms-word"; 

または

HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" 
+0

私はこれを試しました。実際の単語ファイルをダウンロードします。しかし、私はWebページ/ブラウザに表示する必要があります – KaviSuja

+0

私は答えを更新しました。コンテンツ処理を使用する必要はありません –

+0

ええと。私は "application/vnd.ms-word"で試しました。しかし、それは.aspxのページをダウンロードします。 – KaviSuja

関連する問題