asp.net MVC中的Flash XML配置文件问题
我正在创建一个asp.net MVC应用程序,这是我第一次这么做。我有一个flash组件需要在视图中使用。我已经在目录文件夹中包含了SWF文件等,并从我的视图中引用了它,当你到达视图时,flash文件会加载,太好了 出现这个问题是因为flash文件引用了XML文件作为其配置数据,而我在访问该XML文件时遇到了一个错误。我猜这是因为flash正在寻找一个相对路径,并且正在使用页面的URL,这显然是一个MVC URL,因此没有指向磁盘上的实际位置,因此XML文件不在那里 我想最明显的答案是修改flash文件,在contents文件夹中查找XML文件,但这意味着重新编译flash,我对flash知之甚少,所以我希望避免这样做。那么,有没有办法让XML文件显示在与视图相同的URL中,因此目前,打开flash组件的页面位于htttp://localhost/upload/ 所以我想XML文件需要从中访问asp.net MVC中的Flash XML配置文件问题,asp.net,asp.net-mvc,flash,url-routing,Asp.net,Asp.net Mvc,Flash,Url Routing,我正在创建一个asp.net MVC应用程序,这是我第一次这么做。我有一个flash组件需要在视图中使用。我已经在目录文件夹中包含了SWF文件等,并从我的视图中引用了它,当你到达视图时,flash文件会加载,太好了 出现这个问题是因为flash文件引用了XML文件作为其配置数据,而我在访问该XML文件时遇到了一个错误。我猜这是因为flash正在寻找一个相对路径,并且正在使用页面的URL,这显然是一个MVC URL,因此没有指向磁盘上的实际位置,因此XML文件不在那里 我想最明显的答案是修改fla
如果有其他更好的方法,不编辑flash文件,我也愿意这样做,您需要设置路由机制以允许直接访问/upload/文件夹,或者创建一个控制器操作,返回XML流(动态或从物理XML文件读取的流),把你的SWF指向那条路线。我选择第二个选项,因为它非常灵活。将此操作添加到FlashUpload控制器:
public class FlashUploadController : Controller
{
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult FlashSettings()
{
var fileName = Server.MapPath("~/Contents/flash-settings.xml");
return new FilePathResult(fileName, "text/xml");
}
}
这条通往RouteTable的路线是:
routes.MapRoute("FlashSettings", "upload/flash-settings.xml",
new { Controller = "FlashUpload", Action = "FlashSettings" });
太棒了,这让XML从那个URL开始工作,谢谢!Flash仍然不喜欢它,但我想我必须继续寻找。这正是我一直在寻找的。非常感谢。