Загрузка XML-файла, который должен находиться в том же каталоге, что и представление в MVC3 - PullRequest
0 голосов
/ 11 октября 2011

Веб-дизайнер в проекте использует Flash Gallery , которая загружает файл images.xml.SWF ожидает, что он находится в том же каталоге, что и файл .html.Так что, если я нахожусь на действии /Public/Home/Gallery, он будет ожидать, что images.xml будет в Public/Home.

Как мне разрешить Flash SWF загружать файл?У меня нет доступа к исходному коду, поэтому я не могу изменить поведение SWF.

1 Ответ

1 голос
/ 11 октября 2011

Ой, вы действительно должны посмотреть на альтернативные галереи ...

Есть несколько проблем с выбранной вами:

  • Доступ к папке представлений заблокировандля защиты содержимого серверных представлений (чтобы предотвратить их случайную загрузку в виде файла и т. д.)
  • При использовании маршрутов и значений по умолчанию действий может быть несколько URL-адресов для доступа к одной и той же странице
  • Какон имеет дело со строками запроса?

Т.е. где он будет выглядеть при следующих сценариях?

  • / Home / Index
  • / Home / Index/
  • / Home / Index? Page = 1
  • / Home / Index /? Page = 1

Все это указывает на одно и то же действие.

Вы могли бы сделать что-то вроде этого:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Rewrite images.xml" stopProcessing="true">
        <match url=".*/images.xml" />
        <action type="Rewrite" url="Content/{R:0}" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

С этим переписать запрос на /Home/Index/images.xml будет переписан (прозрачно для веб-браузера) в /Content/Home/Index/images.xml.Но у вас все еще есть проблема с косыми чертами, строками запросов, действиями по умолчанию.

Существует множество замечательных плагинов jquery для галерей, которые лучше и не настолько фатальны.

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