Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Golang 如何接收服务器直接写回的csv文件二进制数据?

这是Api文档

image.png

这是我的程序

func (shenma *Shenma) DownloadFile(targetAccountId string, fileId int64, startTime, endTime string, unitOfTime, reportType, statRange, levelOfDetails int) map[string]interface{} {
    responseData := make(map[string]interface{})
    payload := shenma.Payload("file",fileId,targetAccountId,startTime,endTime,unitOfTime,reportType,statRange,levelOfDetails)
    bytesData, e := json.Marshal(payload.(FilePayloadInfo))
    if e == nil {
        // 发送api请求
        fmt.Println("requestDataBody:",string(bytesData))
        resp, _ := http.Post(shenma.DownloadUrl, "application/json", bytes.NewReader(bytesData))
        resBody, _ := ioutil.ReadAll(resp.Body)
        fmt.Println("StatusCode:",resp.StatusCode)
        fmt.Println("Header:",resp.Header)
        fmt.Println("resBody:",resBody)
        fmt.Println("resBodyStr:",string(resBody))
        ioutil.WriteFile("bbb.csv",resBody,0777)
        os.Exit(12)
        //if err != nil {
        //    fmt.Println(err)
        //} else {
            //status := response.Header.Status
            //if status == 0 {
            //    fileId = response.Body.FileID
            //    state = true
            //}else{
            //    fmt.Println(response.Header.Failures[0].Message)
            //}
        //}
        resp.Body.Close()
    }else{
        fmt.Println("Error:",e)
    }
    return responseData
}

这是我的程序返回

image.png

返回的数据为空,这是为什么?

通过postman可以正常获得数据

image.png

求大佬解惑

Enregistrer un commentaire

0 Commentaires