以下是一个简单的golang实现示例:

package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"log"
	"mime/multipart"
	"net/http"
	"os"
)

func main() {
	// 要上传的文件
	file, err := os.Open("path/to/file")
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	// 创建multipart/form-data请求体
	body := &bytes.Buffer{}
	writer := multipart.NewWriter(body)
	part, err := writer.CreateFormFile("file", "filename")
	if err != nil {
		log.Fatal(err)
	}
	_, err = io.Copy(part, file)
	if err != nil {
		log.Fatal(err)
	}
	err = writer.Close()
	if err != nil {
		log.Fatal(err)
	}

	// 发送POST请求
	req, err := http.NewRequest("POST", "https://ip:port/openapi/wts/file/v1/upload", body)
	if err != nil {
		log.Fatal(err)
	}
	req.Header.Set("Content-Type", writer.FormDataContentType())

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()

	// 解析响应
	respBody, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}
	var respData map[string]interface{}
	err = json.Unmarshal(respBody, &respData)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(respData)
}

注意替换实际的请求地址和文件路径

golang实现请求地址:httpsipportopenapiwtsfilev1upload请求方式:POST 数据类型 multipartform-data返回格式:JSON

原文地址: https://www.cveoy.top/t/topic/fsUe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录