Невозможно установить относительный путь для флэш-файла в ASP.NET MVC с помощью AC_FL_RunContent

У меня есть веб-сайт, использующий asp.net mvc, на котором мне нужно встроить флэш-файл в поле зрения. Я не могу указать относительный путь для флеш-файла. Ниже приведен код, который я использую:


 AC_FL_RunContent(
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0',
'width', '487',
'height', '359',
'menu', 'false',
'movie', 'images/butterfly',
'quality', 'high',
'allowscriptaccess', 'sameDomain',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer'
);

где я скопировал файл butterfly.swf в каталог изображений. Каталог изображений находится в папке просмотров.

Если я использую код (default.aspx default.aspx.cs) в другом решении с той же структурой папок, браузер сможет загрузить флэш-файл.

Не могли бы вы пролить свет на проблему структуры папок MVC?

Большое спасибо.

Махеш


person Mahesh    schedule 06.05.2010    source источник


Ответы (1)


Это потому, что вы запрашиваете URL-адрес вида: "/Content/Details/1", чтобы относительный путь указывал на: "/Content/Details/1/images/butterfly". У вас нет этой папки на вашем сервере, поэтому она не будет найдена. Вместо этого вы можете разрешить URL-адрес сервера, чтобы он нашел правильную папку. Просто измените "images/butterfly" на <%=ResolveUrl("~/images/butterfly.swf")%> и переместите папку из папки представлений, поскольку по умолчанию файлы не могут запрашиваться в папке представлений. Если вы действительно хотите, чтобы он находился в папке представлений, вам нужно будет изменить web.config в папке представлений, чтобы разрешить это.

Помните, что относительные пути, подобные вашему, будут разрешены на стороне клиента. В этом нет ничего особенного для asp.net mvc. Клиент не знает, какой серверный фреймворк вы используете. Клиент просто смотрит на URL-адрес и оттуда разрешает его.

person Mattias Jakobsson    schedule 06.05.2010
comment
Это под тегом скрипта. Будет ли это иметь значение ?? - person Mahesh; 06.05.2010
comment
@Mahesh, нет никакой разницы. - person Mattias Jakobsson; 06.05.2010
comment
@Mahesh, Надо, конечно, и расширение файла (.swf) добавить. - person Mattias Jakobsson; 06.05.2010