POST 요청을 생성하여 다른 서버로 보내려고 합니다. 내 프로세스에서는 3개의 POST를 보내려고 합니다. 하나는 첫 번째 서버로, 나머지는 다른 서버로 보냅니다. p>
하지만 첫 번째 POST 요청에만 작동하고 나머지 요청에서는 200개의 코드를 얻지만 파일은 여전히 비어 있습니다. http 연결에 익숙하지 않습니다. 프로그램을 수정하려면 어떻게 해야 합니까? 저를 도와주시면 정말 감사하겠습니다!
파일을 받는 기능입니다.
으아악요청을 생성하고 보내는 기능입니다
으아악아직 작동하지 않는 기능이 있어요
func ReceivePublicKey() *gin.Engine { router := gin.Default() router.MaxMultipartMemory = 8 << 20 //router.Static("/", "./static") router.POST("/receive", func(context *gin.Context) { file, _ := context.FormFile("file") log.Println(file.Filename) dst := "./" + file.Filename context.SaveUploadedFile(file, dst) context.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", file.Filename)) context.String(200, "server: receive publicKey successfully!") }) return router }
자 이제 실수를 찾았습니다. 먼저 파일 크기를 확인하지 않았는데, 빈 파일을 저장할 때 200 코드가 나오는 이유가 설명됩니다. 두 번째는 IotInit()에서 userId를 가져옵니다. 저는 io.Copy()를 사용하고 파일 포인터가 파일 끝을 가리키도록 만들었습니다. 이는 "public.pem"이 비어 있는 이유를 설명합니다. 요청에 아무것도 복사하지 않습니다. 몸 . 또한 POST 요청을 생성할 때 io.Copy()를 사용하고 있는데 "private.pem"도 비어 있을 수 있습니다.
위 내용은 gin을 사용할 때 하나의 프로세스로 다른 서버로 파일을 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!