我正在使用golang net/http包,通过postman检索上传的压缩文件。 附件文件的链接。它不是危险的文件。请随意查看。

开发环境

  • 本地机器 m1 macbook pro golang 1.17.2 - 没有问题
  • 服务器 docker image golang:1.17.5-stretch - 有问题。

捕获post form transSourceFile文件的代码。

func HandleFileReqTest(w http.ResponseWriter, req *http.Request, params map[string]string) err {

    if err := req.ParseMultipartForm(32 << 20); err != nil {
       return err
    }

    file, header, err := req.FormFile("transSourceFile")
    if err != nil {
       return err
    }
    defer file.Close()
    fmt.Println("header.Size:", header.Size)
    return nil
}

我试过下面的代码,也没有用

func HandleFileReqTest(w http.ResponseWriter, req *http.Request, params map[string]string) err {
    if err := req.ParseForm(); err != nil {
        return err
    }
    req.ParseMultipartForm(32 << 20)
    file, header, err := req.FormFile("transSourceFile")
    if err != nil {
        return err
    }
    defer file.Close()
    fmt.Println("header.Size:", header.Size)
    return nil
}

结果。 本地机器得到的文件大小与原文件相同。 使用golang:1.17.5-stretch的服务器得到的文件大小与原文件不同。

结果是,我无法在服务器上解压文件。有谁能帮忙吗?