2013-07-17 6 views
5

पर जाएं, मुझे वेब विकास के बारे में कुछ नहीं पता है और सीखने का सबसे अच्छा तरीका यह है कि शुरुआत में कूदना था। क्षमा करें अगर यह मामूली है।वेब पेज स्थिर फ़ाइल

मैं building a webpage in go पर एक ट्यूटोरियल का अनुसरण कर रहा हूं। ट्यूटोरियल में सब कुछ समझना आसान है, लेकिन मैं इसे विस्तार करने की कोशिश कर रहा हूं। विशेष रूप से, मैं कुछ स्थिर फाइलें (चित्र) जोड़ने की कोशिश कर रहा हूं। मैं जाने डॉक्स से गुजर रही किया गया है और FileServer में आए और मेरी हैंडलर में

http.ServeFile(w, r, "/home/jeff/web/foo.jpg") 

जोड़ने मैं एक छवि में कार्य किया जा रहा है देखते हैं लेकिन यह टेम्पलेट

<h1>{{.Title}}</h1> 
<p>[<a href="/edit/{{.Title}}">edit</a>]</p> 

<img src="foo.jpg" alt="moooooo"> 
<img src="foo.jpg" alt="foooooo"> 

<div>{{printf "%s" .Body}}</div> 

* मैं देने की कोशिश की है का उपयोग नहीं कर रहा है छवियों के लिए भी पूरा रास्ता।

जो मैं करने की कोशिश कर रहा हूं वह छवि को HTML टैग पर कब्जा करने के लिए प्राप्त करें जिसे मैंने टेम्पलेट में इतनी सावधानी से रखा है।

enter image description here

मैं दिखाई देते हैं, जहां मैं उन्हें कहता हूं, लेकिन खाली छवियों, जहां वे किया जाना चाहिए प्राप्त करने के लिए छवि चाहते हैं। मुझे कोई त्रुटि नहीं दिख रही है कि फाइल नहीं मिल सकती है।

जिस तरह से मुझे लगता है कि यह काम करना चाहिए (इस में कोई अनुभव नहीं है) सर्वर को बताकर है कि मेरे पास यह निर्देशिका है जिसमें कुछ स्थिर फाइलें हैं और जब भी कोई टेम्पलेट किसी छवि का अनुरोध करता है और यदि यह पाया जाता है। यह आसान नहीं लगता है। मैं क्या गलत कर रहा हूं? में इससे कैसे चला सकता हूँ?

मेरी main में दूसरे शब्दों में मैं http.ListenAndServe(":8080", nil) उपयोग कर रहा हूँ मैं अपाचे या कुछ अन्य वेब सर्वर

उत्तर

8

छवियों टेम्पलेट्स के लिए एक अलग URL पथ से पेश की जानी चाहिए का उपयोग नहीं कर रहा हूँ।

http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("/home/jeff/web/")))) 

और फिर सुनिश्चित करें <IMG> स्रोत यूआरएल की तरह कुछ कर रहे हैं:

<img src="/static/foo.jpg" alt="moooooo"> 

आशा है कि मदद करता है

आप को परिभाषित करने के जहां स्थिर फ़ाइलों की तरह कुछ का उपयोग करने से परोसा जाएगा की जरूरत है।