温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Golang怎么实现一个web文件共享服务

发布时间:2021-04-12 17:15:58 来源:亿速云 阅读:260 作者:Leah 栏目:编程语言

这期内容当中小编将会给大家带来有关使用Golang怎么实现一个web文件共享服务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

具体如下:

http.Handle("/", http.FileServer(http.Dir("./")))  //把当前文件目录作为共享目录 http.ListenAndServe(":8080", nil)

这时候,通过浏览器打开 http://ip 地址:8080 就可以了。

也许这样就完了,但是我为了方便非程序员用户使用,还需要程序自动获取本机的内网ip地址,最后浏览器自动打开这个地址。

获取内网ip地址

func GetIntranetIp() (r []string) {   addrs, err := net.InterfaceAddrs()   if err != nil {     log.Fatal(err)   }   for _, address := range addrs {     if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {       if ipnet.IP.To4() != nil {         r = append(r, ipnet.IP.String())       }     }   }   return }

本机浏览器自动打开这个地址

loclstr := fmt.Sprintf("http://%s:8080", ip地址) cmd := exec.Command("cmd", "/C", "start "+loclstr) cmd.Run()

完整代码

package main import (   "fmt"   "log"   "net"   "net/http"   "os/exec"   "time" ) func main() {   address := GetIntranetIp()   fmt.Println("本机ip地址列表:")   for _, item := range address {     fmt.Println(item)   }   http.Handle("/", http.FileServer(http.Dir("./")))   fmt.Printf("蕊蕊老师文件共享服务开启,监听8080端口\n请使用浏览器打开:http://ip地址:8080,eg:http://%s:8080\n请不要关闭此程序,祝使用愉快\n", address[0])   go func() {     time.Sleep(2000)     loclstr := fmt.Sprintf("http://%s:8080", address[0])     cmd := exec.Command("cmd", "/C", "start "+loclstr)     cmd.Run()   }()   if err := http.ListenAndServe(":8080", nil); err != nil {     fmt.Println("err:", err)   } } func GetIntranetIp() (r []string) {   addrs, err := net.InterfaceAddrs()   if err != nil {     log.Fatal(err)   }   for _, address := range addrs {     if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {       if ipnet.IP.To4() != nil {         r = append(r, ipnet.IP.String())       }     }   }   return }

上述就是小编为大家分享的使用Golang怎么实现一个web文件共享服务了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI