使用python CGIHTTPServer导出d3 svg
我想将svg从d3图表导出到.svg文件,而不需要用户进行任何交互。我使用的代码基于这个伟大的示例: 但是服务器端脚本对我来说是新的,当我尝试使用内置python CGIHTTPServer运行示例代码时,我得到“错误代码501。消息:只能发布到CGI脚本。错误代码解释:501=服务器不支持此操作。” 我的问题是:PythonCGI服务器是否能够根据这个示例(下面的perl代码)处理svg文件的下载?如果没有,是否有其他简单的替代方法来测试这一点 谢谢大家!!嘉莉 download.pl如下所示:使用python CGIHTTPServer导出d3 svg,python,perl,d3.js,Python,Perl,D3.js,我想将svg从d3图表导出到.svg文件,而不需要用户进行任何交互。我使用的代码基于这个伟大的示例: 但是服务器端脚本对我来说是新的,当我尝试使用内置python CGIHTTPServer运行示例代码时,我得到“错误代码501。消息:只能发布到CGI脚本。错误代码解释:501=服务器不支持此操作。” 我的问题是:PythonCGI服务器是否能够根据这个示例(下面的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);