golang 文件服务器 实现
示例如下:
package mainimport ("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
直接打开编译出来的可执行程序,即可运行,在浏览器中访问http://ip:8088即可看到可执行文件所在的目录下的所有文件。
golang 文件服务器 实现相关推荐
- go实现文件服务器,golang文件服务器的两种方式(可以访问任何目录)
一.方法1: 主要用到的方法是http包的FileServer,参数很简单,就是要路由的文件夹的路径. package main import ( "fmt" "net/ ...
- go 文件服务器 搜索,golang文件服务器,可以访问任何目录
一.方法1: 主要用到的方法是http包的fileserver,参数很简单,就是要路由的文件夹的路径. package main import ( "fmt" "net/ ...
- ext js如何动态更改xtype_K8S ConfigMap 用于动态应用程序的实践
编辑:小君君 技术校对:星空下的文仔.bot 在 Kubernetes 中,ConfigMap 是允许管理员将配置组件与镜像内容解耦,使容器化应用程序产生可移植性的一种资源.ConfigMap 可以与 ...
- Go实战--golang实现MP4视频文件服务器(nareix/joy4)
实现一个提供mp4视频文件的服务器吧,并且通过浏览器访问播放. MP4文件服务器 package mainimport ("log""net/http"&quo ...
- Go实战--golang实现MP4视频文件服务器 nareix/joy4
生命不止,继续 go go go !!! 有点忙,有点懈怠,继续. 关于golang实现的静态文件服务器之前有写过: Go实战–golang实现静态文件服务器(文件查看,文件上传,文件下载) 正好,最 ...
- go开源文件服务器框架,golang微服务框架go-zero系列-4:go-zero文件服务
golang微服务框架go-zero系列-4:go-zero文件服务 go-zero本身支持文件服务,但是我们需要写相关的handler文件,本文目的在于 不写任何一个和文件相关的handler 如果 ...
- golang 搭建文件服务器,golang实现简单文件服务器
用golang作一个简单的文件服务器,http包提供了很好的支持,因为时间紧促,只看了http包中本身须要的一小部分,建议你们若是须要仍是去看官网的文档,搜索引擎搜索出来的前几个方法不是很符合需求.g ...
- go语言服务器实战,Go实战--golang实现MP4视频文件服务器(nareix/joy4)
生命不止,继续 go go go !!! 有点忙,有点懈怠,继续. 关于golang实现的静态文件服务器之前有写过: Go实战–golang实现静态文件服务器(文件查看,文件上传,文件下载) 正好,最 ...
- golang实现文件服务器,【Golang】实现文件服务器断点续传
Loading... # 0x00 下载文件时暂停后可以继续接着下载,在线看视频时可以随意拖动进度条,这些都是断点续传所实现的应用. http1.1支持**Range**属性从而实现断点续传,客户端在 ...
最新文章
- 【算法设计与数据结构】为何程序员喜欢将INF设置为0x3f3f3f3f?(转)
- linux输入qsub显示错误,linux – 使用qsub运行shellscript的’意外的文件结束’和’错误导入功能定义’错误...
- [Ceoi2010]Pin
- 区块链学者Michael Goldstein:比特币可以防止能源浪费
- 5分钟了解MySQL5.7的Online DDL雷区
- 简单介绍,基于ldirectord的高可用lvs-dr调度器
- 【优化算法】粒子群的混沌混合蝴蝶优化算法【含Matlab源码 047期】
- 查看计算机安装程序版本,Product Key Explorer(程序密钥显示工具)
- 基于单片机的人体健康检测系统
- burp抓取APP数据包+安装Xposed+Just TrustMe
- ​常见的8个概率分布公式和可视化
- 张朝阳开课手推E=mc²,李永乐现场狂做笔记!CEO当太久都忘了他是MIT物理博士...
- Ubuntu交叉编译工具链安装
- 有缘-无缘-惜缘-随缘
- STM32——舵机驱动
- 直播终端技术比较:Native vs H5 vs WebRTC vs 小程序
- Oracle之字符串去重统计
- NestJS学习笔记
- 【调剂】澳门科技大学空间大数据硕士接收调剂研究生
- debian 10 安装apache,apache配置