Показать файлы Word и Excel на веб-странице из базы данных в asp.net c # - PullRequest
0 голосов
/ 01 октября 2019

У меня есть база данных, где я сохранил документы, такие как PDF, Word (DOCX) и Excel. Я хочу отобразить их на веб-странице при нажатии кнопки просмотра. Я могу отобразить PDF-файл, используя следующий подход.

  string embed = "<object data=\"{0}{1}\" type=\"application/pdf\" width=\"500px\" 
  height=\"600px\">";
  ltEmbed.Text = string.Format(embed, ResolveUrl("~/Handler1.ashx? 
id="+id+"&Name="+Name+""), temp);// literal control

в Handler1.ashx У меня есть ниже

 string constr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
            using (SqlConnection con = new SqlConnection(constr))
            {

                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.CommandText = "select pdfdoc from repository;
                    cmd.Connection = con;
                    con.Open();

                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {      
                            sdr.Read();
                            bytes = (byte[])sdr["BPM_Doc"];
                    }     
                }
                    con.Close();
            }

            context.Response.Buffer = true;
            context.Response.Charset = "";
            context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            context.Response.ContentType = "application/pdf";
            context.Response.BinaryWrite(bytes);
            context.Response.End();

Как я могу использовать тот же подход для отображения слова и превосходства,В моем текстовом документе тоже есть изображения.

1 Ответ

0 голосов
/ 05 октября 2019

Короткий ответ: Вы не можете - по крайней мере, не так, как вы собираетесь, даже если у вас установлен пакет Office на вашем компьютере.

Документы PDF обрабатываютсябольшинством браузеров со своей собственной реализацией программы чтения PDF от Adobe - что, я подозреваю, делает ваш браузер, но в документах Microsoft Office используется множество типов mimety: от application/ms-word для старых файлов Word до application/vnd.openxmlformats-officedocument.wordprocessingml.document для новых поколенийOffice, поэтому поддержка встроенного браузера даже для их отображения будет либо технически нежизнеспособной, либо ограничена лицензией.

Извлеките эту программу просмотра документов, чтобы встроить программу чтения / просмотра непосредственно в ваш проект:

ASP.NET Document Viewer из GroupDocs

Примечание: это не бесплатно , во что бы то ни стало, этона самом деле довольно дорого, и я желаю всем удачи, пытаясь найти тот, который будет дешевым.

Кроме того, не довольствуйтесь простым предоставлением пользователю файла с нимСам, если вы не счастливы, у них должны быть средства, чтобы открыть это. В моей работе конечные пользователи, с которыми мы имеем дело, не имеют установленного Microsoft Office на своих компьютерах специально (лицензирование действительно), поэтому предоставление информации в документах PDF - единственный путь.

...