コントローラーに次のメソッドがあります
public ActionResult LimitesCampo(int id)
{
var kml = fieldService.GetKml(id);
FileInfo fileInfo = new FileInfo("Field" + id + ".kml");
if (!fileInfo.Exists)
{
using (StreamWriter writer = fileInfo.CreateText())
{
writer.WriteLine(limites.KML);
}
}
this.Response.AddHeader("Content-Disposition", "filename=" + Server.HtmlEncode("Field" + id + ".kml"));
this.Response.ContentType = "application/vnd.google-earth.kml+xml";
return File(fileInfo.OpenRead(), "application/vnd.google-earth.kml+xml");
}
コントローラ アクションの URL を入力すると、KML が適切に返されます。ブラウザでもファイルのダウンロードを要求され、Google Earth スタンドアロン アプリケーションでは正常に動作しますが、jQuery AJAX 関数から KML を取得しようとすると、KML は動作しません。私のアプリケーションのGEプラグインで。ディスクに保存された KML ファイルを試してみたところ、正しく動作しました。問題は動的データにあります。
注: Visual Studio 2010 Express に統合された Web サーバーを使用しています。