好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > golang文件服務器的兩種方式(可以訪問任何目錄)

golang文件服務器的兩種方式(可以訪問任何目錄)

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

一、方法1:

主要用到的方法是http包的FileServer,參數很簡單,就是要路由的文件夾的路徑。

package main

import (
  "fmt"
  "net/http"
)

func main() {
  http.Handle("/", http.FileServer(http.Dir("./")))

  e := http.ListenAndServe(":8080", nil)
  fmt.Println(e)
}

上面例子的路由只能把根目錄也就是“/”目錄映射出來,例如你寫成”http.Handle("/files", http.FileServer(http.Dir("./")))“,就無法把通過訪問”/files“把當前路徑下的文件映射出來。于是就有了http包的StripPrefix方法。

二、方法2:

實現訪問任意文件夾下面的文件。

package main

import (
  "fmt"
  "net/http"
)

func main() {
  mux := http.NewServeMux()
  mux.Handle("/", http.StripPrefix("/", http.FileServer(http.Dir("/"))))
  mux.Handle("/c/", http.StripPrefix("/c/", http.FileServer(http.Dir("c:"))))
  mux.Handle("/d/", http.StripPrefix("/d/", http.FileServer(http.Dir("d:"))))
  mux.Handle("/e/", http.StripPrefix("/e/", http.FileServer(http.Dir("e:"))))
  if err := http.ListenAndServe(":3008", mux); err != nil {
    log.Fatal(err)
  }
}

這里生成了一個ServeMux,與文件服務器無關,可以先不用關注。用這種方式,就可以把任意文件夾下的文件路由出來了。

ps:golang實現的文件服務器

最近在學習golang,使用golang實現了一個最簡單的文件服務器,程序只有簡單的十多行代碼,可以編譯成windows, linux, mac多平臺可執行文件。

源碼

package main

import (
 "fmt"
 "net/http"
 "os"
 "path/filepath"
)

func main() {
 p, _ := filepath.Abs(filepath.Dir(os.Args[0]))
 http.Handle("/", http.FileServer(http.Dir(p)))
 err := http.ListenAndServe(":8088", nil)
 if err != nil {
 fmt.Println(err)
 }
}

源碼解釋

os.Args[0]獲取的是執行程序時的第一個參數,默認第一個參數是程序所在的目錄
filepath.Abs(filepath.Dir(os.Args[0]))是獲取當前可執行程序所在的絕對路徑
http.Handle("/", http.FileServer(http.Dir(p)))是開啟一個文件服務器,使用當前可執行文件所在的路徑
http.ListenAndServe(":8088", nil)是監聽8088端口并開啟文件服務器

編譯

要將源碼編譯成不同平臺的可執行文件,需要使用gox工具,使用下面的命令安裝gox:

go get github.com/mitchellh/gox

執行成功之后,使用gox命令即可自動編譯出各個平臺的可執行文件,如果想為某個平臺單獨編譯,可以使用如下方式:

gox -os "windows linux" -arch amd64

-os參數指定了編譯平臺,-arch參數指定了處理器架構

運行

直接打開編譯出來的可執行程序,即可運行,在瀏覽器中訪問http://ip:8088即可看到可執行文件所在的目錄下的所有文件。

到此這篇關于golang文件服務器可以訪問任何目錄的文章就介紹到這了,更多相關golang文件服務器內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • golang DNS服務器的簡單實現操作
  • golang-gin-mgo高并發服務器搭建教程
  • golang HTTP 服務器 處理 日志/Stream流的操作
  • golang項目如何上線部署到Linu服務器(方法詳解)
  • golang搭建靜態web服務器的實現方法
  • 詳解如何熱重啟golang服務器
  • 淺談Golang中創建一個簡單的服務器的方法
  • 基于 HLS 創建 Golang 視頻流服務器的優缺點

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

巨人網絡通訊聲明:本文標題《golang文件服務器的兩種方式(可以訪問任何目錄)》,本文關鍵詞  golang,文件,服務器,的,兩種,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang文件服務器的兩種方式(可以訪問任何目錄)》相關的同類信息!
  • 本頁收集關于golang文件服務器的兩種方式(可以訪問任何目錄)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 午夜羞羞视频在线观看| 小婬妇水好多真紧奶头好硬| 一级α片视频| 军训完被教官灌满精子男男| 能看黄色的网站| 91亚洲精品乱码久久久久久蜜桃| 国精产品999一区二区三区有限| 久久a热6| 囯产精品久久久久久久久鸭绿欲仙| 巨爆乳幕巨爆区巨爆乳| 国产福利亚洲| 国产精品福利短视在线播放频| 深夜一级毛片| 亚洲色噜噜狠狠网站人与鲁| 污女的qq号| 被两个同桌绑起来玩乳动态gif| 两个人看的www免费高清| 老片.经典.hd.videos| 国产91清纯白嫩初高中在线观看| 国产一区亚洲一区| 国产亚洲人成网站观看| 免费的黄漫?18禁动漫app| 国产精品极品美女高潮视频播放 | 美国一级大黄香蕉片| 国产精品一区二三区好的精华液| 国产女女视屏免费| 闺门秘术白话| 麻豆果冻精品一区二区| 久久久久亚洲AV无码网影音先锋| 男女在男女晚上在床热吻视频| 青青河边草免费观看视频免费| 国产成人激烈叫床视频| A片高潮抽搐猛戳喷水| 日本交换无码亚洲成a人片| 在线视频观看亚洲| 5g影讯5g天线罗志祥地址发布 | 亚洲天堂久久精品成人| 成人免费毛片观看| 含紧一点h楼梯边做边走视频| 女生啊~你tm别?了破解黑女| 91天天综合网,天天综合网|