局域网共享文件的几种优雅方案

在工作中,经常碰到要给同事共享文件的需求。一般可能就走微信、飞书都公共的聊天工具发送了,但是如果要分享的文件比较大或者是涉密文件的话,这种方式就不太可行了,所以这篇文章就来聊一聊试用不同语言如何快速起一个本地的 http 服务用于共享文件。

nodejs

官网:https://www.npmjs.com/package/http-server,nodejs 有一个 http-server 的包,简单来说这就是一个 0 配置的命令行静态 http 服务器,主要实现是基于 nodejs 的 http 模块,通过 createServer 函数来创建了一个服务。

安装命令,这里我使用的是 npm,也可以使用 npx或者其他的方式,参考官网说明

npm install --global http-server

安装好后,进入到要分享的目录,执行

http-server .

然后就可以看到服务的地址了,把地址发给对方就可以了

对方打开后看到的页面如下,点击需要的文件名就能下载了

python

python3 内置了 http.server 类,可以直接通过一行命令启动一个本地文件服务器

# pyton3
python -m http.server

# python2 
python -m SimpleHTTPServer 8080

启动后的效果如下

对方访问的效果是这样的

go

好像没找到可以直接用的 http 服务包,于是自己大概写了一个

package main

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

func main() {
	// 获取当前目录路径
	dir, err := os.Getwd()
	if err != nil {
		fmt.Println("Error getting current directory:", err)
		return
	}

	// 创建文件服务器
	fs := http.FileServer(http.Dir(dir))

	// 设置 HTTP 处理器
	http.Handle("/", fs)

	// 启动 HTTP 服务器
	port := ":8080"
	fmt.Println("Server is running on http://localhost" + port)
	err = http.ListenAndServe(port, nil)
	if err != nil {
		fmt.Println("Error starting HTTP server:", err)
	}
}

代码比较简单,就不过多说明了。执行一下

go run server.go

运行结果如下

总结一下

还是 nodejs 和 python 比较方便,讲道理,python 更胜一筹,不用安装依赖包,自带的就可以解决这个需求。如果大家知道 go 有什么包能实现的话,也欢迎留言哦~

image.png

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值