我用python创建了一个服务器。
现在我有一个网页cgi 来筛选我的结果,还有一个 svg 文件。我测试了 3 种方法: 解决方案 1 一种快速加载 svg 的 javascript 方法(在服务器之外工作-> 但不在本地服务器中) 解决方案2 一个简单的对象导入(在服务器之外工作 - > 但不在本地服务器中) 解决方案3 内部 svg html(在服务器中运行)
我想使用解决方案 1 或 2,因为 3 对我来说既不舒服又脏……为什么解决方案 1 和 2 不起作用?我认为他们没有找到 svg 文件,但我不明白为什么......
os.system("cp %s WEBSERVER/toto.svg"%(svg))
print 'Content-type: text/html' #application/xhtml+xml'# image/svg+xml'
print '''
<html>
<head>
<script language="javascript">
function loadSVG(id, svg) {
var element = document.getElementById(id);
var object = document.createElement("object");
object.type = "image/svg+xml";
object.data = svg;
element.appendChild(object);
}
</script>
</head>
<body>
SOLUTION1<br/>
<script type="text/javascript">
loadSVG('hca', 'WEBSERVER/toto.svg');
</script>
SOLUTION2<br/>
<object type='image/svg+xml' data ='WEBSERVER/toto.svg'></object>
SOLUTIONT3<br/>
<svg xmlns="http://www.w3.org/2000/svg"
width="800" height="800" >
<rect x="50" y="200" width="250" height="40" />
</svg>
</body>
</html>
'''
这是我在 python 中启动的网络服务器:
#!/usr/bin/python
import BaseHTTPServer
import CGIHTTPServer
import cgitb; cgitb.enable()
server = BaseHTTPServer.HTTPServer
handler = CGIHTTPServer.CGIHTTPRequestHandler
server_address = ("0.0.0.0", 8123)
handler.cgi_directories = ['/WEBSERVER']
httpd = server(server_address, handler)
try:
print "Running HTTP server"
httpd.serve_forever()
except KeyboardInterrupt:
print "Server Stoped"