type * gin.Context没有字段或方法SaveUploadedFile

时间:2017-07-21 01:45:33

标签: go gin

我的代码在我的计算机上工作正常,但在我将代码移到debian服务器后,我的服务器上出现了编译时错误:

type *gin.Context has no field or method SaveUploadedFile

我使用sample gin code来保存文件:

    if err := c.SaveUploadedFile(file, file.Filename); err != nil {
        c.String(http.StatusBadRequest, fmt.Sprintf("upload file err: %s", err.Error()))
        return
    }

我已升级到服务器上的1.8.3(与我的桌面上的版本相同)并随后更新了杜松子酒,希望能解决问题。但它没有。

这是我的go env

root@s1:~# go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/srv/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

我也尝试过:

rm -rf $GOPATH/pkg/*

我也试过了go build -a但是得到了同样的错误。

所以我一言不发,感谢你提示解决这个问题。

1 个答案:

答案 0 :(得分:4)

您的服务器似乎正在使用杜松子酒的旧代码库。刚检查了杜松子酒提交历史。

方法SaveUploadedFile添加了5 days ago。因此,执行以下命令以在服务器上提取最新的代码库。

go get -u github.com/gin-gonic/gin

然后编译它。