1

我用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"
4

0 回答 0