以下是一个示例的Go语言客户端代码,可以连接到上述服务端并执行handlerupload函数来上传文件:
package main
import (
"bytes"
"fmt"
"io"
"log"
"mime/multipart"
"net/http"
"os"
)
func uploadFile(filename string, targetURL string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close()
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, err := writer.CreateFormFile("file", file.Name())
if err != nil {
return err
}
io.Copy(part, file)
writer.Close()
request, err := http.NewRequest("POST", targetURL, body)
if err != nil {
return err
}
request.Header.Set("Content-Type", writer.FormDataContentType())
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
return err
}
defer response.Body.Close()
fmt.Println("Response:", response.Status)
return nil
}
func main() {
filename := "path/to/file.ext" // 要上传的文件路径
targetURL := "https://localhost:8080/upload" // 服务端上传接口地址
err := uploadFile(filename, targetURL)
if err != nil {
log.Fatal(err)
}
fmt.Println("Upload successful")
}
请注意,根据你的实际情况,可能需要修改targetURL和filename变量来适应你的环境。同时,请确保已正确配置HTTPS证书以及相应的服务器地址和端口。
内容由零声教学AI助手提供,问题来源于学员提问