1

ユーザーからの操作を必要とせずに、svg を d3 チャートから .svg ファイルにエクスポートしたいと思います。私はこの素晴らしい例に基づいたコードを使用しています:

http://d3export.cancan.cshl.edu/

しかし、サーバー側のスクリプトは初めてで、組み込みの python CGIHTTPServer を使用してサンプル コードを実行しようとすると、「エラー コード 501。メッセージ: CGI スクリプトにのみ POST できます。エラー コードの説明: 501 = サーバーはサポートしていません。この作戦。」

私の質問は次のとおりです: Python CGI サーバーは、この例 (以下の perl コード) に基づいて svg ファイルのダウンロードを処理できる必要がありますか? そうでない場合、これをテストするための他の簡単な代替手段はありますか?

ありがとうございました!キャリー

download.pl は次のようになります。

use strict; 
use warnings;
use CGI qw/:standard/;
use CGI::Carp qw/fatalsToBrowser/;
use autodie qw(:all);
use File::Temp qw/tempfile/;
use File::Slurp qw/read_file write_file/;

print header(-type=>"image/svg+xml",
     -attachment=>"d3js_export_demo.svg");    
print $data;
exit(0);

** 更新 ** ローカルの python CGI サーバー (CGIHTTPServer) を使用して上記のコードを動作させることができませんでした。リモート サーバーで動作する同じコード (以下を参照) のより単純なバージョンを取得しました。このバージョンもローカルの CGIHTTPServer では動作しなかったため、今のところ、開発にはリモート サーバーを使用することにしています。

#!/usr/bin/perl

use CGI qw/:standard/;

my $counter = param('num');
# input validation
my $data = param('data')
or die "Missing 'data' parameter";

print header(-type => "image/svg+xml",
-attachment => "d3demo$counter.svg");
print $data;
exit(0);
4

0 に答える 0