1

コントローラーに次のメソッドがあります

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 サーバーを使用しています。

4

0 に答える 0