私は現在、非常に基本的なWebサイトにいくつかのSVGイメージをロードしようとしていますが、奇妙な問題にぶつかっています。それが適切であれば、さまざまなパラメトリック式をグラフ化するときにmatplotlibによって作成されたSVGファイルを使って作業しています。私は単純に4枚のランダムSVG画像(これは仕事のすべてと、私はそれらを個別にロードしようとすると罰金ロード)をロードし、小さなWebページにそれらを置くをロードしようとしていますファイル:私の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として置き、{0}などを数字で置き換えてhtmlに直接アクセスしてみました。私は私の絶対的な知恵の終わりに誰かがおそらく私を助けることができれば私は非常に感謝するだろう。これあなたにもまた "にコンテンツを置いてもよいページを生成するために使用されるソースコード
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()
ありがとうございます。 「失敗」とは、すべての4つのデフォルトのサムネイル画像を表示しています:https://imgur.com/cZq2ajh。ネットワークタブ(これまで私が感謝していたことはありませんでした)は、実際に何がうまくいかなかったのか、何かがうまくいかないという情報をほとんど出していませんでした:https://imgur.com/a/BNnTP。それは最初のイメージであり、残りのすべてについて本質的に同じように見えました。再び何がうまくいかないのか分かりません。私は、より多くの情報を得ることができるかどうか試してみるよう要求しましたが、エラーは起こりませんでした。 – williambellwisdo
Paulの回答は以下のとおりです:https://css-tricks.com/snippets/htaccess/serve-svg-correct-content-type/ –