2011-02-10 109 views
1

我有一個網頁用於創建具有perl腳本的KML文件。我希望用戶將一些數據添加到將用於我的表單中perl腳本。當表單被提交時,它將運行腳本,創建一個kml文件,然後提示用戶保存該文件。我不確定的唯一部分是如何在腳本創建KML後讓用戶保存文件。我有perl腳本提示下載或使用HTML頁面上的某些提示下載。我不確定最好的方法來做到這一點。在網頁上運行perl腳本後保存文件

回答

10

如果您有指示服務器構建KML的鏈接或表單,那麼只需正常生成KML,然後使用一些額外的HTTP標頭將其發送回瀏覽器。你想要的標題是:

  • Content-disposition設置爲attachment;filename=whatever.kml其中「whatever.kml」是你想要什麼要調用的文件。
  • Content-type設置爲application/vnd.google-earth.kml+xml

Content-disposition應該告訴瀏覽器下載KML而不是嘗試處理它。

所以Perl腳本會提示瀏覽器提示下載。

+0

OK,我看到:這是KML是什麼。 – 2011-02-10 14:17:39

3

假設KML文件的內容是$ KML那麼你想要做的事,如:(?和谷歌 - 地球的相關性)

use CGI; 

my $cgi = new CGI; 

print $cgi->header('-Content-disposition' => 'attachment;filename=kml.xml', 
        '-Content-type'  => 'application/vnd.google-earth.kml+xml'); 

print $kml;