Запрос PDF-браузера заходит в глубокую заморозку - PullRequest
5 голосов
/ 11 ноября 2010

У клиента есть новостная рассылка в формате PDF, которая весит 1,63 МБ, поэтому она невелика.

Мы отправляем электронное письмо со ссылкой на PDF.Или же пользователи находят ссылку на главной странице сайта.Это не имеет значения.

Проблема в том, что когда пользователь запрашивает PDF, браузер иногда заходит в глубокую заморозку.То есть вам нужно использовать диспетчер задач для уничтожения экземпляра браузера.

Вы можете протестировать pdf здесь: Информационный бюллетень

Что затрудняет то, что это не таквсегда терпеть неудачу.Ниже приведена сводная информация о том, где я нахожусь и что я пытался сделать.

БРАУЗЕРЫ

Наиболее вероятный сбой браузера с использованием PDF - это Google Chrome.Однако IE также иногда зависает.

ОШИБКА

Google Chrome иногда возвращает следующую ошибку (после долгого ожидания):

"Произошла ошибка при обработкестр.. Произошла ошибка ввода-вывода файла. Истекло время соединения с файлом. "

IE просто замерзает без хохота.

ACROBAT VERSION

Файл былпервоначально созданный в Adobe InDesign CS3, дизайнерской студией.Мы просто получили PDF.Я попытался восстановить файл с помощью Acrobat 7 на случай возникновения проблем с совместимостью.Похоже, это решило проблему на одном компьютере, но не на других ...

РЕЗУЛЬТАТЫ GOOGLE

Поиск в Google показывает, что существуют некоторые проблемы с Chrome и PDF-файлами.Я еще не нашел никакого решения.Это все еще не объясняет, почему IE иногда терпит неудачу.

ДРУГИЕ МЕРЫ

Я очищаю кэш для каждого браузера между тестами.Так что это не может быть просто искаженная загрузка.

ОТКРЫТИЕ ФАЙЛА С ACROBAT PRO

Нет проблем с открытием файла таким способом.

WEB-сервер

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

HELP!

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


РЕДАКТИРОВАТЬ:

ВОЗМОЖНОЕ РЕШЕНИЕ:

Я выполнил предложение Пестаа (см. ответ ниже), который обеспечивает обходной путь, который работает.Не оптимально для типа пользователя (медицинская благотворительная помощь при энцефалите, которая может привести к травме головного мозга), но это работает.Т.е. прикрепите следующий http-заголовок:

Content-Disposition: attachment

. Для этого я создал страницу, на которой есть кнопка со следующим кодом:

protected void downloadButton_Click(object sender, EventArgs e)
    {
        string fileName = "newsletter49.pdf";

        string filePath = Server.MapPath("~/images/ipdf/mailings/" + fileName);
        Response.Clear();

        Response.AppendHeader("content-disposition", "attachment; filename=" +       fileName);
        Response.ContentType = "application/octet-stream";
        Response.WriteFile(filePath);
        Response.Flush();
        Response.End();
    }

HTML-код страницы(включает кнопку для загрузки Acrobat Reader в соответствии с требованиями стандартов W3C):

<h2>
        Our Autumn/Winter 2010 Newsletter is now available</h2>
    <p>
        Please click on the button below:</p>
    <asp:Button ID="downloadButton" runat="server" OnClick="downloadButton_Click" Text="Download Newsletter" />
    <div style="margin-top: 10px; border: 1px solid #ccc; background: #ebebeb; padding: 6px;">
        <p>
            If you do not have Adobe Acrobat Reader, you will not be able to read the Newsletter.
            To get Acrobat Reader, click the button below and download it from Adobe's website:</p>
        <a title="This link opens in a new window to allow you to download Adobe Reader!"
            href="http://get.adobe.com/uk/reader" target="_blank">
            <img alt="Get Adobe Reader for viewing PDF files" src="../Images/SharedImages/get_adobe_reader.gif"
                style="border: none;" /></a>
    </div>

Я жду, чтобы узнать, сможет ли кто-нибудь выяснить, что может быть не так с pdf.В противном случае, Пестаа получит печенье.


РЕДАКТИРОВАТЬ 2:

Я принял предложение Пестаа как единственный надежный путь.Не идеально, учитывая, что это медицинская благотворительная помощь при синдроме, который может привести к повреждению головного мозга, поэтому дополнительные шаги по загрузке и открытию pdf обременительны.Но это не хорошо, если браузер падает на них.

Если кто-то слышит об этой проблеме, оставьте комментарий.

Ответы [ 2 ]

6 голосов
/ 11 ноября 2010

Это может быть не совсем то, что вы ищете, но если загрузки PDF достаточно или нормально, это HTTP-заголовок, который вы должны прикрепить при отправке контента:

Content-Disposition: attachment

Это заставляет браузер открывать диалоговое окно открытия / сохранения и, возможно, решает проблему с ошибкой IE.

0 голосов
/ 25 июля 2013

Моя проблема была с новейшими Mozilla Fire Fox, Safari и IE 9. Я очистил его, открыв Adobe Reader, Edit, Preferences, Uncheck защитный режим. Возникла проблема совместимости с Norton Anti Virus. Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...