package static
import(
"fmt"
"net/http"
"os"
"io/ioutil"
"log"
)
func Start() {
fmt.Println("init...")
http.HandleFunc("/static/",doExecute)
http.ListenAndServe(":8088",nil)
}
var realPath string ="D:/work/software"
func doExecute( response http.ResponseWriter,request *http.Request) {
requestUrl :=request.URL.String()
fmt.Println(requestUrl[:])
filePath := requestUrl[len("/static"):]
fmt.Println("requestUrl =",filePath)
file,err :=os.Open(realPath + filePath)
defer file.Close()
if err != nil {
log.Println("static resource:", err)
response.WriteHeader(404)
} else {
bs,_ := ioutil.ReadAll(file)
response.Write(bs)
}
}
package main
import "static"
func main() {
static.Start()
}
在浏览器输入:http://localhost:8088/static/**
** 为static目录下对应映射文件路径
本文介绍了一个使用Go语言实现的简单静态资源服务器。该服务器监听8088端口,并能响应以/static/开头的URL请求,返回指定路径下的文件内容。通过此示例可以了解如何使用Go标准库处理HTTP请求并提供静态文件服务。
326

被折叠的 条评论
为什么被折叠?



