如何从Python的BaseHTTPServer中加载SVG?

2024-05-20 20:45:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python创建了一个服务器。在

现在我有了一个网页cgi来显示我的结果,还有一个svg文件。 我测试了三种方法: 解决方案1快速加载svg的javascript方法(在服务器之外工作,但在localserver中不工作) 解决方案2一个简单的对象导入(在服务器之外工作,但在localserver中不工作) html中的解决方案3 svg(在服务器中运行)

我想用解决方案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启动的web服务器:

^{pr2}$

Tags: 文件方法svgimagebr服务器objecthtml