2012-10-15 36 views
4

我如何使用<img>標籤,以顯示轉到一個地方形象?在隨時隨地使用<img>標記來顯示圖像局部

我已經試過如下:

fmt.Fprintf(w, "</br><img src='" + path.Join(rootdir, fileName) + "' ></img>") 

其中ROOTDIR = os.Getwd()和文件名是文件的名稱。

如果我嘗試http.ServeFile具有相同路徑,然後我可以下載圖像,但是我想它嵌入到網頁本身。

回答

7

,我會說我的圍棋知識是殘酷的,在最好的前言本,但幾個實驗我做都涉及這一點,那麼也許這將至少一點,你在正確的方向。基本上,下面的代碼在/images/下使用一個句柄來處理根目錄中的images文件夾中的文件(在我的例子中是/home/username/go)。然後,您可以手動編碼/images/<img>標籤,或者使用path.Join()像之前,使images第一個參數。

package main 

import (
    "fmt" 
    "net/http" 
    "os" 
    "path" 
) 


func handler(w http.ResponseWriter, r *http.Request) { 
    fileName := "testfile.jpg" 
    fmt.Fprintf(w, "<html></br><img src='/images/" + fileName + "' ></html>") 
} 

func main() { 
    rootdir, err := os.Getwd() 
    if err != nil { 
    rootdir = "No dice" 
    } 

    // Handler for anything pointing to /images/ 
    http.Handle("/images/", http.StripPrefix("/images", 
     http.FileServer(http.Dir(path.Join(rootdir, "images/"))))) 
    http.HandleFunc("/", handler) 
    http.ListenAndServe(":8080", nil) 
}