2010-10-18 4 views
0

Для нашего приложения мы входим в блокнот. Мы предоставили веб-URL пользователю для просмотра журнала. Мы сохраняем файл в файловой системе. Наши пользователи не могут открыть какой-либо файл журнала. Может ли кто-нибудь помочь мне здесь? мы храним текст/xml внутри файла .txt. мы получаем следующее сообщение об ошибке при попытке посмотреть в лог-файлНевозможно открыть текстовый файл с использованием IE

 
The XML page cannot be displayed 
Cannot view XML input using style sheet. Please correct the error and then click 
the Refresh button, or try again later. 

-------------------------------------------------------------------------------- 

Invalid at the top level of the document. Error processing resource 

Если кто-то может мне помочь, я могу отправить .txt файлы в них. Этот текстовый файл открыт успешно в Chrome и Firefox

"Сохранить как .txt и попробуйте открыть ИЭ"

2010-10-14 08: 38: 49,452 [1] DEBUG -

UserHostAddress 198.96.178.33 UserHostName 198.96.178.33 UserAgent Jakarta Commons-HttpClient/3.0.1 10/14/2010 8:38:49 AM Запрос factivafacpassword1230IBM1100Name10/14/2010 08:38:45

2010-10- 14 08: 38: 51 983 [1] DEBUG -

Response 10/14/2010 8:38:51 AM 13201116695SANIBM Канада Кредитные услуги компании, заказы CanadaManitoba ценных бумаг Исполнительное комиссия & Exceptions3201158540SANInternational Business Machines Corporation, United StatesSEC - Судебные Releases210/14/2010 8:38:51 AM 2010-10-14 08: 39: 30452 [7] DEBUG -

UserHostAddress 198.96.178.33 UserHostName 198.96.178.33 UserAgent Jakarta Commons-HttpClient/3.0.1 10/14/2010 8:39:30 AM Запрашивать factivafacpassword1230CFX Holdings1100Name10/14/2010 08:39:30

2010-10-14 08: 39: 30967 [7] DEBUG -

Response 10/14/2010 8:39:30 AM 1010/14/2010 8:39:30 AM

+0

Просьба указать код, например. пример ссылки –

+0

Вот содержание моего файла. Просто сохраните его как .txt и попробуйте открыть его с помощью IE – jvm

+0

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

ответ

2

IE интерпретирует файл как XML-документ и пытается его открыть. Но файл, похоже, не в правильном формате XML. следовательно, вы получаете ошибку.

+0

, но он отлично работает с хром и firefox. Некоторые из файлов, которые я могу открыть с помощью IE. Но некоторые терпят неудачу. Если вы можете дать мне свой адрес электронной почты, я могу отправить вам пример – jvm

1

Звучит так, будто вас укусили по форме.

Когда IE получает ресурс типа text/plain (как обычно будет подаваться для .txt), он не доверяет этому типу.

(Это связано с тем, что веб-серверу по умолчанию передают тип text/plain, когда они не знают, какой тип ресурса, а не просто опуская заголовок Content-Type. Это неправильная вещь, но большинство веб-серверов делают это.)

Вместо этого IE просматривает начало файла, чтобы узнать, есть ли что-то там, где оно распознается. Если он видит что-то вроде <?xml, похожее на XML, он решит, что весь файл text/xml, а не text/plain, как сервер сказал, что это так. Это, конечно же, и неправильная вещь, и в прошлом вызывало некоторые серьезные проблемы с безопасностью, но MS не может отключить ее в IE, не нарушая при этом нагрузку на существующие плохо управляемые сайты.

Точно, когда, как и какие типы IE нюхает для complicated story.В IE8 +, вы можете избежать этой неприятности, возвращая свои text/plain ресурсы с дополнительным заголовком:

X-Content-Type-Options: nosniff 

Как detailed on the IEBlog.

Для более ранних версий IE трудно остановить случайный произвольный текст в ресурсе text/plain, сбрасывающем сниффера. Простое, но уродливое решение, если вам нужно поддерживать эти версии IE, состоит в том, чтобы заполнить первые 256 байтов файла содержимым без содержания (например, 256 пробелов). Сниффер смотрит только на эту часть файла.

+0

Означает ли это, что когда я пытаюсь поместить XML в файл журнала, у меня должно быть 256 перед ним? – jvm

+0

Если вам нужно поддерживать IE <8, и вы не хотите вручную отфильтровывать содержимое, которое выглядит как другие типы файлов, то да, это то, что вам нужно будет сделать. Мессно, я знаю. Сожалею. – bobince

+0

Это не ваша вина. :) – bzlm