2012-02-01 3 views
0

Моя проблема проста, но я пока не нашел решение. У меня есть папка, содержащая загруженные резюме, хранящиеся в форматах pdf, doc и docx. Страница бэкэнда администратора показывает ссылки на резюме для каждого пользователя. Если щелкнуть ссылку на файл pdf или doc, файл будет загружен/открыт, но если будет нажата ссылка на docx, будет показана страница ошибки 404, и если вы сохраните файл на своем рабочем столе, а открытое слово говорит, что оно повреждено и не может открываться. Все файлы можно открыть на веб-сервере.Извлечение файлов .docx

Вместо того чтобы использовать код для загрузки файлов, мои ссылки выглядят: http://www.site.com/test/resume/John_Doe_Resume.docx

Я уверен, что легко исправить. Кто-нибудь еще сталкивается с этой проблемой?

+1

Вы можете разместить код функции, которая служит вашим DOCX файлы? –

+0

Предполагая, что документ хорош, есть ли у вас MS-Word или (читатель) совместимая версия? Вы пробовали это из IE? – NoChance

+0

Похож на проблему с конфигурацией ... Убедитесь, что у вас нет специального обработчика, настроенного для расширения .docx в IIS –

ответ

3

Убедитесь, что .docx был создан в списке IIS о MIME-типов:

Configure MIME Types (IIS 6.0)

IIS (7 тоже по этому вопросу) даст ошибку 404, если он не знает MIME , который соответствует расширению файла. Если его нет (и это не по умолчанию в IIS 6), добавьте .docx с MIME-типа

application/vnd.openxmlformats-officedocument.wordprocessingml.document 
+0

Это было фактически не настроено в IIS. Я добавил его в типы MIME с применением/msword в качестве типа. Он по-прежнему дает значение 404. Я новичок в IIS и может отсутствовать шаг – Robo

+0

Тип MIME не должен вызывать ошибку 404. Что-то еще не так. –

+0

Возможно, потребуется перезапустить IIS. Обратите внимание, что это приведет к удалению всех подключений и т. Д., Поэтому просто не делайте это на производственном сервере. Из MSDN (с тех пор, как я коснулся IIS 6): В диспетчере IIS щелкните правой кнопкой мыши локальный компьютер, выберите «Все задачи» **, затем нажмите «Перезапустить IIS **». В списке ** Что вы хотите сделать IIS **, нажмите «Перезапустить интернет-услуги» на * имя_компьютера *. – JimmiTh

1

Ставлю, что фреймворк обрабатывает расширение .docx как тип исполняемого файла; код или IIS пытается его выполнить, что не удается.

Проверьте конфигурацию IIS для расширений файлов, свою таблицу web.config и/или таблицу маршрутизации вашего приложения, я готов поспорить, что ответ находится где-то там.

Смежные вопросы