2009-07-12 8 views
1

Je crée une application MVC asp.net, la première fois que je l'ai fait. J'ai un composant flash que je dois utiliser dans une vue. J'ai inclus les fichiers SWF etc dans le dossier Contents et référencé à partir de ma vue, le fichier flash se charge lorsque vous arrivez à la vue, génial.Problèmes de fichier de configuration XML Flash avec asp.net MVC

Le problème se produit car le fichier Flash fait référence et le fichier XML pour ses données de configuration et j'obtiens une erreur lors de l'accès à ce fichier XML. Je suppose que c'est parce que flash cherche un chemin relatif et utilise l'URL de la page, qui est évidemment une URL MVC et ne se réfère donc pas à un emplacement réel sur le disque, de sorte que le fichier XML n'est pas là.

Je suppose que la réponse évidente est la modification du fichier flash à regarder dans le dossier de contenu pour le fichier XML, mais cela signifie recompiler le flash, et je sais très peu de choses sur le flash, donc je voudrais éviter cette. Donc, est-il possible de faire apparaître le fichier XML dans la même URL que la vue, alors pour l'instant, la page avec le composant flash est située à l'adresse htttp: // localhost/upload/alors je suppose que le fichier XML doit être accessible depuis http://localhost/upload/flash-settings.xml?

S'il y a une autre meilleure façon de le faire, sans modifier le fichier flash, im ouvert à cela aussi,

Répondre

2

Ajouter cette action au FlashUpload Controller:

public class FlashUploadController : Controller 
{ 
    [AcceptVerbs(HttpVerbs.Get)] 
    public ActionResult FlashSettings() 
    { 
     var fileName = Server.MapPath("~/Contents/flash-settings.xml"); 

     return new FilePathResult(fileName, "text/xml"); 
    } 
} 

Et cette route vers la RouteTable:

routes.MapRoute("FlashSettings", "upload/flash-settings.xml", 
    new { Controller = "FlashUpload", Action = "FlashSettings" }); 
+0

fantastique, qui a obtenu le XML de travail à partir de cette URL, merci! Flash n'aime toujours pas ça, mais je suppose que je vais devoir continuer à chercher. –

+0

Exactement ce que je cherchais. Je vous remercie. –

1

Vous devez soit définir le mécanisme de routage pour permettre des fichiers d'accès direct à la/upload/dossier, ou créez une Action du Contrôleur qui retournera un flux XML (dynamique ou celui lu à partir du fichier XML physique), et dirigera votre SWF vers cette Route. J'irais avec la deuxième option, car il est très flexible.

Questions connexes