编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

「Go爬虫」如何通过Post上传文件(post方法上传文件)

wxchong 2024-07-25 13:33:35 开源技术 54 ℃ 0 评论
package main

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

func main() {
   bodyBuffer := &bytes.Buffer{}
   bodyWriter := multipart.NewWriter(bodyBuffer)

   // fieldname string : 在页面中file字段的name
   // filename string : 上传的文件名
   fileWriter, _ := bodyWriter.CreateFormFile("file1", "file.txt")

   // 打开文件
   file, _ := os.Open("file.txt")
   defer func() { _ = file.Close() }()

   // 将file复制到fileWriter中
   _, _ = io.Copy(fileWriter, file)

   // FormDataContentType返回具有此编写器边界的HTTP表单数据的内容类型。
   contentType := bodyWriter.FormDataContentType()
   log.Println(contentType)
   defer func() { _ = bodyWriter.Close() }()

   // http://127.0.0.1/ 自己的上传文件的地址
   resp, _ := http.Post("http://127.0.0.1/", contentType, bodyBuffer)
   defer func() { _ = resp.Body.Close() }()

   respBody, _ := ioutil.ReadAll(resp.Body)

   log.Println(resp.Status)
   log.Println(string(respBody))
}

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表