go语言实现HTML页面下载
go语言实现简易的文件件下载功能,只能下载当前目录的文件,下一级目录的文件下载功能还有一些bug未实现,欢迎参考,一些好的建议可以私我
func main() {
http.HandleFunc("/",test)
http.ListenAndServe(":8080",nil)
}
func test(w http.ResponseWriter, r *http.Request) {
path :="."+ r.URL.Path
fmt.Print(path)
file, err := os.Open(path)
if err != nil {
w.WriteHeader(500)
}
info, err := file.Stat()
if err != nil {
w.WriteHeader(500)
}
if info.IsDir() {
fileInfos, err := ioutil.ReadDir(path + "\\")
if err !=nil{
w.WriteHeader(304)
}
for i := range fileInfos{
fmt.Fprintf(w,"<a href=\"%v\">%v</a><br>",fileInfos[i].Name(),fileInfos[i].Name())
}
}else {
io.Copy(w,file)
}
}