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

主頁 > 知識庫 > golang實現(xiàn)http server提供文件下載功能

golang實現(xiàn)http server提供文件下載功能

熱門標簽:澳門防封電銷卡 地圖標注測試 烏魯木齊人工電銷機器人系統(tǒng) 福州鐵通自動外呼系統(tǒng) 廣東語音外呼系統(tǒng)供應(yīng)商 賺地圖標注的錢犯法嗎 長沙ai機器人電銷 濮陽自動外呼系統(tǒng)代理 智能電銷機器人營銷

簡介

Go(又稱Golang)是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言。

羅伯特·格瑞史莫(Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜(Ken Thompson)于2007年9月開始設(shè)計Go,稍后Ian Lance Taylor、Russ Cox加入項目。Go是基于Inferno操作系統(tǒng)所開發(fā)的。Go于2009年11月正式宣布推出,成為開放源代碼項目,并在Linux及Mac OS X平臺上進行了實現(xiàn),后來追加了Windows系統(tǒng)下的實現(xiàn)。在2016年,Go被軟件評價公司TIOBE 選為“TIOBE 2016 年最佳語言”。 目前,Go每半年發(fā)布一個二級版本(即從a.x升級到a.y)。

go就是golang 全名是 golang 簡稱go語言

golang實現(xiàn)http server提供文件下載功能,具體代碼如下所示:

func FileDownload(w http.ResponseWriter, r *http.Request) {
  filename := get_filename_from_request(r)

  file, _ := os.Open(filename)
  defer file.Close()

  fileHeader := make([]byte, 512)
  file.Read(fileHeader)

  fileStat, _ := file.Stat()

  w.Header().Set("Content-Disposition", "attachment; filename=" + filename)
  w.Header().Set("Content-Type", http.DetectContentType(fileHeader))
  w.Header().Set("Content-Length", strconv.FormatInt(fileStat.Size(), 10))

  file.Seek(0, 0)
  io.Copy(w, file)

  return
}

ps:下面看下golang最簡單的http server

簡單的hello world

package main
import (
 "fmt"
 "io"
 "net/http"
)
func main() {
 http.HandleFunc("/", helloWorld)
 e:=http.ListenAndServe(":8888",nil)
 if e!=nil{
 fmt.Println(e.Error())
 }
}
func helloWorld(w http.ResponseWriter, r *http.Request) {
 str:="Hello World"
 n,e:=io.WriteString(w, str)
 if e!=nil{
 fmt.Println(e.Error())
 } else {
 fmt.Println(n," " ,len(str))
 }
}

總結(jié)

以上所述是小編給大家介紹的golang實現(xiàn)http server提供文件下載功能,希望對大家有所幫助!

您可能感興趣的文章:
  • Golang 實現(xiàn)分片讀取http超大文件流和并發(fā)控制
  • 解決golang處理http response碰到的問題和需要注意的點
  • Golang 發(fā)送http請求時設(shè)置header的實現(xiàn)
  • golang使用http client發(fā)起get和post請求示例
  • 一個簡單的Golang實現(xiàn)的HTTP Proxy方法
  • 在 Golang 中實現(xiàn)一個簡單的Http中間件過程詳解

標簽:廣西 阿克蘇 貴陽 慶陽 調(diào)研邀請 西雙版納 德州 太原

巨人網(wǎng)絡(luò)通訊聲明:本文標題《golang實現(xiàn)http server提供文件下載功能》,本文關(guān)鍵詞  golang,實現(xiàn),http,server,提供,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang實現(xiàn)http server提供文件下載功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于golang實現(xiàn)http server提供文件下載功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 道孚县| 乌拉特中旗| 新竹市| 成安县| 新野县| 宣城市| 噶尔县| 察哈| 大安市| 阳谷县| 株洲县| 成武县| 雷波县| 章丘市| 抚顺县| 景洪市| 黑河市| 体育| 兴隆县| 商丘市| 夹江县| 称多县| 镇远县| 浪卡子县| 仙居县| 治县。| 磐石市| 南平市| 汪清县| 敦煌市| 益阳市| 上高县| 临夏县| 堆龙德庆县| 嘉兴市| 清水县| 循化| 石家庄市| 余庆县| 嘉峪关市| 固安县|