2017-04-21 18 views
0

저는 golang을 처음 사용하고 있으며 간단한 파일 서비스 프로그램에 좌절감을 느낍니다. 라우터에 대한 처리기에서 파일 접두사/디렉토리에 문제가 있음을 의심합니다. 필자는 디렉토리에 대해 다양한 형식을 시도했습니다. 내 시스템에서 $ HOME/Documents/TEST/Login이 서비스되고 싶은 html 파일입니다. 아래 코드는 내 주소입니다. {address}은 ip 주소를 대체합니다.404 gorilla/mux golang 라이브러리를 사용하는 중 오류가 발생했습니다

package main 

    import (
     "log" 
     "github.com/gorilla/mux" 
     "net/http" 
     "time" 
    ) 

    func main() { 
    r := mux.NewRouter() 
    r.PathPrefix("/Login/").Handler(http.StripPrefix("/Login/", 
    http.FileServer(http.Dir("$HOME/Documents/TEST/Login")))) 

    srv := &http.Server{ 
     Handler:  r, 
     Addr:   "{address}:9999", 
     WriteTimeout: 600 * time.Second, 
     ReadTimeout: 600 * time.Second, 
    } 

    log.Fatal(srv.ListenAndServe()) 
    } 

답변

0

이동은 $HOME으로 해석하지 않습니다. /home/username/Documents/TEST/Login/과 같은 명시 적 경로를 사용하십시오.

+0

은 404 오류를 수정 한 것 같습니다. "/ Login /"접두어를 "/"로 변경해야합니다. – Clarko

+0

절대 경로가 마음에 들지 않으면 'currentUser.HomeDir'을 사용하여 홈 경로를 가져옵니다. 자세한 내용은 https://golang.org/pkg/os/user/#User를 참조하십시오. – lowatt