婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Golang實現http文件上傳小功能的案例

Golang實現http文件上傳小功能的案例

熱門標簽:外呼系統用什么卡 評價高的400電話辦理 阿克蘇地圖標注 外呼系統顯本地手機號 百度地圖標注后傳給手機 電話機器人軟件免費 壽光微信地圖標注 涿州代理外呼系統 excel地圖標注分布數據

看代碼吧~

package main
import (
	"fmt"
	"io"
	"net/http"
	"os"
)
func main() {
	http.HandleFunc("/", index)
	http.HandleFunc("/upload", upload)
	http.ListenAndServe(":1789", nil)
}
func upload(w http.ResponseWriter, r *http.Request) {
	r.ParseMultipartForm(32  20)
	file, handler, err := r.FormFile("uploadfile")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()
	f, err := os.OpenFile(handler.Filename, os.O_WRONLY|os.O_CREATE, 0666)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer f.Close()
	io.Copy(f, file)
	fmt.Fprintln(w, "upload ok!")
}
func index(w http.ResponseWriter, r *http.Request) {
	w.Write([]byte(tpl))
}
const tpl = `html>
head>
title>上傳文件/title>
/head>
body>
form enctype="multipart/form-data" action="/upload" method="post">
 input type="file" name="uploadfile" />
 input type="hidden" name="token" value="{...{.}...}"/>
 input type="submit" value="upload" />
/form>
/body>
/html>`

補充:Golang 調用http 文件上傳接口 進行上傳文件

遠程服務器有一個文件上傳接口,文件用于保存到服務器本地,用go如何調用此接口將文件上傳至服務器?

首先,文件上傳請求方 與 接收方 要協調工作(解析等工作)

接收方:

func UploadFileToLocal(c echo.Context) error {
 r := c.Request()  //無論用的什么路由,原理是要從request獲取數據
 t := echotools.NewEchoTools(c)
 reader, err := r.MultipartReader() //request 獲得文件 reader
 if err != nil {
  return t.BadRequest(err.Error())
 }
 if reader == nil {
  return t.BadRequest(`未接受到文件`)
 }
    //遍歷操作 獲得的
 for {
  part, err := reader.NextPart()
  if err == io.EOF {
   break
  }
  fmt.Printf("FileName=[%s],FormName[%s]\n",part.FileName(),part.FormName())
  if part.FileName() == "" {
   data, _ := ioutil.ReadAll(part)
   fmt.Printf("FormData=[%s]\n", string(data))
            continue
  } else {
            //創建一個空文件
   dst, er:= os.Create("static/uploadfiles/" + part.FileName())
   if er != nil {
    return t.BadRequest(err.Error())
   }
   defer dst.Close()
            //將獲取到的文件復制 給 創建的文件
   _,err := io.Copy(dst, part)
   if err != nil {
    return t.BadRequest(err.Error())
   }
  }
 }
  return t.OK(`OK`)
}

請求方:

func SendFile(c echo.Context) error{
 t := echotools.NewEchoTools(c)
 r := c.Request()
 file, header, err := r.FormFile("file") // 獲得客戶端傳來的 文件 file
 if err != nil {
  return t.BadRequest("上傳錯誤:" + err.Error())
 }
 
 bodyBuffer := bytes.Buffer{}
 bodyWriter := multipart.NewWriter(bodyBuffer)
 fileWriter, _ := bodyWriter.CreateFormFile("files", header.Filename)
 io.Copy(fileWriter, file) //將 客戶端文件 復制給 用于傳輸的 fileWriter
 contentType := bodyWriter.FormDataContentType() //contentType
 bodyWriter.Close()
 ip := config.Opts.UploadServerAddr //配置
 resp, _ := http.Post("http://"+ip+"/uploadToLocal/"+header.Filename, contentType, bodyBuffer)
 defer resp.Body.Close()
 resp_body, _ := ioutil.ReadAll(resp.Body)
 
 if resp.Status == `200 OK` {
  return t.OK(string(resp_body))
 }else {
  return t.BadRequest(string(resp_body))
 }
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 基于golang uint8、int8與byte的區別說明
  • golang 監聽服務的信號,實現平滑啟動,linux信號說明詳解
  • golang 實現時間戳和時間的轉化
  • Golang Gob編碼(gob包的使用詳解)
  • golang如何獲得一個變量的類型
  • golang 如何獲取文件夾下面的文件列表
  • golang 如何實現HTTP代理和反向代理
  • golang值類型轉換成[]uint8類型的操作

標簽:汕頭 雞西 欽州 銅川 梅河口 蘭州 吐魯番 重慶

巨人網絡通訊聲明:本文標題《Golang實現http文件上傳小功能的案例》,本文關鍵詞  Golang,實現,http,文件,上傳,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Golang實現http文件上傳小功能的案例》相關的同類信息!
  • 本頁收集關于Golang實現http文件上傳小功能的案例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产午夜精品一区二区三区嫩草 | 在线观看一区二区视频| 一区二区三区四区不卡视频| 69av一区二区三区| 99久久久久久| 九九九精品视频| 亚洲免费电影在线| 国产亚洲一区二区三区| 欧美日本精品一区二区三区| 国产东北露脸精品视频| 日本三级亚洲精品| 一区二区三区四区五区视频在线观看| 91精品国产麻豆| 欧美伊人久久大香线蕉综合69| 成人中文字幕在线| 福利电影一区二区三区| 久久成人免费日本黄色| 亚洲国产一区二区三区| ㊣最新国产の精品bt伙计久久| 久久天天做天天爱综合色| 欧美一二区视频| 91精品福利在线一区二区三区 | 国产精品美女一区二区| 久久先锋资源网| 欧美大白屁股肥臀xxxxxx| 欧美撒尿777hd撒尿| 成人网页在线观看| 福利一区二区在线| 国产xxx精品视频大全| 成人性生交大合| 成人视屏免费看| 不卡视频一二三| 成人久久久精品乱码一区二区三区| 日本免费新一区视频| 天天av天天翘天天综合网色鬼国产| 伊人一区二区三区| 亚洲高清视频中文字幕| 亚洲.国产.中文慕字在线| 综合在线观看色| 亚洲欧美日韩国产综合| 亚洲一区在线观看免费| 亚洲成人福利片| 亚洲成人午夜电影| 日韩影院免费视频| 欧美aaaaaa午夜精品| 精品在线一区二区| 激情图区综合网| 国产成人精品免费视频网站| 国产精品77777| av色综合久久天堂av综合| 成人丝袜视频网| 欧美色网一区二区| 亚洲精品一区二区精华| 国产色产综合色产在线视频| 中文字幕欧美一区| 亚洲一区二区视频| 激情欧美一区二区| 成人性生交大片免费看在线播放| 成a人片亚洲日本久久| 91福利在线免费观看| 欧美精品一区二区三区在线播放| 国产丝袜在线精品| 亚洲成人av资源| 国产在线播放一区| 色国产综合视频| 久久久一区二区三区捆绑**| 亚洲精品亚洲人成人网| 爽好多水快深点欧美视频| 韩国三级电影一区二区| 色88888久久久久久影院按摩| 日韩一区二区三区视频在线 | 国产精品一二三| 在线国产电影不卡| 中文字幕巨乱亚洲| 免费观看在线综合| 欧美综合天天夜夜久久| 国产精品视频免费| 国内精品伊人久久久久av影院| 欧美手机在线视频| 亚洲三级小视频| 国产盗摄精品一区二区三区在线| 欧美日韩精品一区二区三区蜜桃| 国产精品麻豆一区二区| 国产美女av一区二区三区| 国产精品麻豆99久久久久久| 麻豆freexxxx性91精品| 欧美日韩一级片网站| 亚洲天堂成人在线观看| 国产精品77777| 日韩欧美aaaaaa| 亚洲成人免费影院| 色视频欧美一区二区三区| 国产偷国产偷精品高清尤物| 亚洲精品高清在线| 在线观看免费成人| 国产精品夫妻自拍| 精品亚洲免费视频| 精品伦理精品一区| 亚洲制服欧美中文字幕中文字幕| 色综合中文字幕| 久久精品视频在线免费观看| 国产精品香蕉一区二区三区| 6080亚洲精品一区二区| 日本不卡一区二区三区高清视频| 成av人片一区二区| 亚洲欧美日韩系列| 国产精一区二区三区| 久久久久久久久久电影| 日韩av中文字幕一区二区三区| 制服丝袜中文字幕亚洲| 亚洲人精品午夜| 处破女av一区二区| 国产成人欧美日韩在线电影| 精品国产电影一区二区 | 久久精品av麻豆的观看方式| 国产一区二区三区在线观看免费视频 | 成人手机电影网| 欧美一区二区在线不卡| 亚洲韩国精品一区| 在线欧美一区二区| 国产成人啪免费观看软件 | 精品国产一区a| 国产91对白在线观看九色| 欧美一区二区黄色| 国产精品一区二区在线观看不卡 | 国产盗摄精品一区二区三区在线| 日韩美女一区二区三区| 国产91清纯白嫩初高中在线观看| 国产欧美日韩久久| 91色九色蝌蚪| 亚洲人亚洲人成电影网站色| 91麻豆精品国产91久久久久久| 日韩av电影免费观看高清完整版 | 欧美日本在线看| 韩国精品久久久| 欧美精品在线观看一区二区| 国产91清纯白嫩初高中在线观看| 精品国产第一区二区三区观看体验 | 国产精品美女久久久久久| 精品婷婷伊人一区三区三| 欧美午夜精品一区二区蜜桃| 色哟哟欧美精品| 色婷婷综合久久久中文一区二区 | 国产精品1区2区3区| 精品伦理精品一区| 成人av网在线| 亚洲一区二区av电影| 久久久亚洲精品一区二区三区| 成人av免费在线播放| 激情六月婷婷久久| 日韩av电影免费观看高清完整版在线观看 | 国内精品伊人久久久久av一坑| 欧美在线视频全部完| 久久久久久日产精品| 国产日韩综合av| 精品综合久久久久久8888| 国产精品成人一区二区三区夜夜夜 | 国产精品亚洲а∨天堂免在线| 欧美日韩国产免费| 亚洲图片激情小说| 国产麻豆午夜三级精品| 日韩免费福利电影在线观看| 亚洲一区电影777| 欧美日韩国产在线观看| 亚洲视频一区二区免费在线观看| 国产高清精品网站| 久久久久久久一区| 色综合天天综合狠狠| 久久综合精品国产一区二区三区| 亚洲一区二区三区影院| 亚洲福利一二三区| 一区二区在线观看视频| 5月丁香婷婷综合| 91精品国产一区二区三区蜜臀 | 床上的激情91.| 日本电影欧美片| 制服丝袜在线91| 久久视频一区二区| ...中文天堂在线一区| 成人av网站大全| 日韩色在线观看| 国产精品理论片在线观看| 亚洲欧美日韩中文播放 | 亚洲中国最大av网站| 日本亚洲视频在线| 久久精品二区亚洲w码| 久久综合久久99| 一区二区三区国产精品| 国产精品资源在线| 欧美一区二区网站| 亚洲欧洲中文日韩久久av乱码| 欧美主播一区二区三区| 国产精品久久久久久久久图文区| 亚洲一区二区三区国产| 欧美性猛交xxxxxx富婆| 亚洲婷婷在线视频| 一区在线观看免费| 欧美成人性福生活免费看| 亚洲综合无码一区二区| 国产毛片精品视频|