У клиента есть новостная рассылка в формате 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 обременительны.Но это не хорошо, если браузер падает на них.
Если кто-то слышит об этой проблеме, оставьте комментарий.