我目前正試圖加載幾個SVG圖像在一個非常基本的網站,但已運行到奇怪的問題。如果它是相關的,我在繪製各種參數化方程時使用matplotlib創建的SVG文件。我想簡單地加載文件加載4個隨機SVG影像(所有的工作和負荷罰款當我嘗試單獨加載它們),並把它們放在一個小的網頁:我的SVG圖像未加載
<html>
<img src="graphs/{0}.svg">
<img src="graphs/{1}.svg">
<img src="graphs/{2}.svg">
<img src="graphs/{3}.svg">
</html>
({0}通過{3}被實際的文件名替換,例如1070)。出於某種原因,每次都失敗。例如,
<html>
<img src="graphs/2286.svg">
<img src="graphs/7499.svg">
<img src="graphs/7444.svg">
<img src="graphs/7666.svg">
</html>
即使這些鏈接中的每一個在我單獨訪問時都失效,仍然失敗。我也通過將file:///Users/my_name/math_project/file.html作爲url直接訪問html,並用數字替換{0}等來實現這一點。我在絕對的智慧結束,如果有人能夠幫助我,我會非常感激。這是用來生成頁面的源代碼
import socket
import threading
import random
import os
import time
os.chdir("https://stackoverflow.com/users/my_name/math_project")
file = open("metadata.txt",'r') # file containing svg file names and equations
svg_data = file.read().split("\n")
file.close()
def handle_call(clientsocket,location): # handles a request
l = time.time()
res = clientsocket.recv(100000)
res = res.split(b"\n")
request = res[0].split(b" ")[1]
if request == b"/favicon.ico":
file = open("favicon.ico",'rb')
stuff2 = file.read()
file.close()
clientsocket.send(stuff2)
if request == b'/':
file = open("file.html",'rb')
res = file.read()
file.close()
res = str(res,'utf-8')
res = res.format(*[random.choice(svg_data).split(":")[0] for a in range(4)])
clientsocket.send(bytes(res,'utf-8'))
if request.startswith(b"/graphs/"):
file = open(place[1:],'rb')
stuff = file.read()
file.close()
clientsocket.send(stuff)
sock = socket.socket()
port = random.randint(2000,10000)
while 1:
try:
sock.bind(('',port))
break
except BaseException:
port = random.randint(2000,10000)
print("Bound to port {0}".format(port))
sock.listen(10)
while 1:
threading.Thread(target=handle_call,args=sock.accept(),).start()
謝謝你的回答。 「失敗」我的意思是顯示所有四個的默認縮略圖:https://imgur.com/cZq2ajh。網絡選項卡(我從來沒有聽說過謝謝!)幾乎沒有提供有關實際發生錯誤的信息,只是出現了一些問題:https://imgur.com/a/BNnTP。這是第一張圖片,其餘部分看起來基本相同。我再也不知道發生了什麼問題 - 我用請求來試試看能否給我更多的信息,但它沒有發現錯誤,並且svg文件傳輸正常。 – williambellwisdo
Paul的迴應如下:https://css-tricks.com/snippets/htaccess/serve-svg-correct-content-type/ –