Как открыть файл Word / Excel после загрузки

Я использую приведенный ниже код для загрузки файлов Word / Excel. Как я могу открыть этот файл автоматически после загрузки?

private void DownloadFile(byte[] bArray, string mimeType, string KeyPath, bool bForcedownload)
        {
            Response.ContentType = mimeType;
            if (bForcedownload)
                Response.AppendHeader("Content-disposition",
                    "attachment; filename = " + Path.GetFileName(KeyPath));
            Response.AppendHeader("content-length", bArray.Length.ToString());
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.AppendHeader(@"Pragma", @"no-cache");
            Response.BinaryWrite(bArray);
            FlushSupressReponse();
        }

private void FlushSupressReponse()
        {
            HttpContext.Current.Response.Flush(); 
            HttpContext.Current.Response.SuppressContent = true;  
            HttpContext.Current.ApplicationInstance.CompleteRequest(); 
        }

Похоже, вы загрузка файл (отправляете файл клиенту), а не загружаете.

Gabriel Luci 18.12.2018 03:59

Ты серьезно ? Это строки для загрузки файла? Response.AppendHeader ("Content-disposition", "attachment; filename = " + Path.GetFileName (KeyPath)); Response.AppendHeader ("длина содержимого", bArray.Length.ToString ()); Response.Cache.SetCacheability (HttpCacheability.NoCache); Response.AppendHeader (@ "Pragma", @ "no-cache"); Response.BinaryWrite (bArray);

Bokambo 18.12.2018 04:00

Да я серьезно. Это код ASP.NET, который отвечает на запрос браузера. Вы сами писали этот код или просто где-то нашли?

Gabriel Luci 18.12.2018 04:03

Это производственный код, который используется для загрузки файла ... У нас есть пользовательский интерфейс, который запускается в браузере, пользователь нажимает на имя файла, и файл загружается ... но пользователю нужно щелкнуть файл, чтобы открыть его, но я хочу открыть его автоматически один раз он скачивается.

Bokambo 18.12.2018 04:09

Гм ... Да. Response предназначен для написания ответа (ответа), что означает, что вы отправляете, а не получаете, что означает, что вы загружаете, а не загружаете.

Ken White 18.12.2018 04:10
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Твой комментарий:

We have UI which runs on browser , user click on filename and file gets downloaded...but user need to click on file to open it but i want to open it automatically once it is downloaded.

Вы не можете. Это полностью выбор пользователя. Вы не можете заставить пользователя веб-сайта автоматически открывать файл после загрузки.

Это сделано намеренно, поскольку таким образом распространять вирусы очень легко.

Однако вы можете дать своим пользователям инструкции о том, как настроить их браузер для автоматического открытия файлов определенных типов. Например, в Chrome после загрузки файла рядом с именем файла появляется стрелка. Нажмите на нее, и появится опция «Автоматически открывать файлы этого типа».

Но это все еще зависит от ваших пользователей.

Это неверно для файлов pdf, поскольку мы можем использовать приведенный выше код для загрузки и открытия файла в браузере .. но я знаю, что документы excel / word не могут быть открыты в браузере. Я получаю массив байтов и использую Response.binarywrite ()

Bokambo 18.12.2018 04:17

Используя приведенный выше код для файлов pdf, я нажимаю на файл, и он открывается в браузере

Bokambo 18.12.2018 04:19

PDF-файлы открываются в браузере, а не во внешней программе (хотя пользователь может настроить браузер, чтобы вместо этого открывать их в Adobe Reader). Это уникально для PDF.

Gabriel Luci 18.12.2018 04:19

Например, см. здесь. Он указывает вам на опцию в Chrome под названием «Загружать файлы PDF вместо того, чтобы автоматически открывать их в Chrome». Это показывает, что он обрабатывает файлы PDF иначе, чем все остальное.

Gabriel Luci 18.12.2018 04:30

Раньше существовала технология, называемая компонентом ActiveX, позволяющая загружать Excel в браузере IE.

Jerry Liang 18.12.2018 08:16

Другие вопросы по теме