Как работает Response.ContentType? - PullRequest
       28

Как работает Response.ContentType?

2 голосов
/ 23 сентября 2010

Я загружаю строку xml из ASP.Net и хочу открыть ее в MS Office Infopath. Я установил ContentType на "application / ms-infopath.xml" (не уверен, откуда я это взял).

На некоторых машинах это нормально, на других открывается XML в браузере, или в Visual Studio, или в каком-либо другом редакторе XML, даже если Infopath присутствует.

  1. Кто ведет список допустимых типов контента?
  2. Что делает с ним ОС или браузер?
  3. Как я могу заставить этот XML открываться в программе по моему выбору (Infopath)?

1 Ответ

1 голос
/ 14 мая 2012

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

Я просматривал все типы файлов в окнах, пытаясь найти тот, который открывается только в infopath - и на самом деле он есть! Каждая установка Office по умолчанию имеет расширение файла .infopathxml, установленное для открытия с помощью infopath. Так что просто установите свой файл = часть заголовка content_disposition в "what.infopathxml".

xml не отображается ни в какую программу по умолчанию, но будет открываться в том, что кто-то использовал в последний раз (обычно в средстве просмотра IE или в Visual Studio), в то время как почти никто не изменит то, что файлы .infopathxml открывают.

Насколько я понимаю, он все еще остается для конечного пользователя. Content-type определяет, как данные должны быть прочитаны и проверены, но это зависит от конечного пользователя, какое расширение сопоставлено с какой программой. Вы не можете заставить xml открываться в одной программе больше, чем указываете, в какой zip-программе должен открываться zip-файл ... единственное, что вы можете сделать, это использовать расширение файла, которое почти наверняка будет уникальным для этой программы, например, как .infopathxml в этом случае.

...