imroc / req

Simple Go HTTP client with Black Magic
https://req.cool
MIT License
4.12k stars 334 forks source link

文件上传报超时 net/http: request canceled (Client.Timeout exceeded while awaiting headers) #295

Closed kakuilan closed 8 months ago

kakuilan commented 8 months ago

请求报超时,无响应结果;但是看调试,其实已经返回结果了 图片

代码

    c := s.newClient()
    ps := make(map[string]string)
    res := &FileUploadResult{}
    reqs := c.R().SetSuccessResult(res).SetContext(ctx)

    //是否需要jwt
    if s.filterWriteKey != nil {
        jwt := GenJwtForFilerServer(s.filterWriteKey, s.jwtExpiresAfter)
        reqs.SetBearerAuthToken(jwt)
    }

    //文件有效期
    if ttl > 0 {
        ttlStr := time2string(ttl)
        if ttlStr != "" {
            ps["ttl"] = ttlStr
        }
    }

    //分片设置
    ps["maxMB"] = KConv.ToStr(s.chunkSize)

    flNum := len(s.urlFilers)
    idx := 0
    if flNum > 1 { //随机取一个
        r := rand.New(rand.NewSource(time.Now().UnixNano()))
        idx = r.Intn(flNum - 1)
    }
    url := s.urlFilers[idx] + newPath

    //执行上传
    resp, err := reqs.SetFile("file", localPath).SetQueryParams(ps).Post(url)
    KDbug.DumpPrint("------------do upload:", err, resp)

这是哪里设置的问题吗?

kakuilan commented 8 months ago

是我这边的网络问题