FastAPI 5分钟搭建局域网文件剪贴板神器,可行吗?
摘要:厌倦了用微信传文件被压缩?受够了数据线插拔的麻烦?本文带你用Python的FastAPI框架,手搓一个能同时在手机和电脑之间互传文件、同步剪贴板的小工具。纯代码实战,附带防踩坑指南,小白也能看懂,老鸟也能省事。
你是不是也经历过这样的瞬间?
明明手机就在手边,想传个截图到电脑修图,结果打开微信,点开“文件传输助手”,发送,等半天,还得在电脑上登录微信,下载……一套流程走下来,修图的心情都没了。反过来,想把电脑上写好的文案发给手机,更麻烦。
至于剪贴板?手机看到的好句子,想在电脑上搜一下,要么靠手打,要么靠发条消息再复制。这哪是科技时代,这简直是“手动挡”生活嘛!
作为每天在电脑和手机之间来回切换的一名程序媛,这个问题困扰我很久了。市面上的“隔空传送”不是不好用,是生态限制太死。终于有一天,我忍不了了,决定自己动手,用咱程序员最熟悉的FastAPI,搭一个“私家传送站”。
核心摘要: 今天这篇文,不是让你读文档。我会手把手带你写一个轻量级的Web应用,跑在你电脑上。然后,只要是连在了同一局域网的手机或平板电脑等网络设备,打开浏览器,就能上传下载文件,还能同步剪贴板。全程代码不超过100行,安全、私有、还免费!
📦 先看看咱要搭的东西长啥样
想象一下,你电脑上开了个服务,手机浏览器里打开一个页面。页面上半部分是一个文件上传区,点一下,选手机里的照片,秒传回电脑指定文件夹。页面下半部分是一个剪贴板文本框,你在电脑上复制了代码片段,打开手机页面,它就在那等着你粘贴。反之亦然。
简单,直接,没有中间商赚差价。
🎯 为什么是FastAPI?
你可能会问:为啥不选Flask或者Django?好问题!我选FastAPI的原因很简单:快。这里的“快”是双关,一是它性能好,底层是异步的;二是它开发极快,自带交互式API文档,调试起来爽歪歪。对于咱们这种小工具,简直量身定做。
而且,它的文件上传处理,是我用过最优雅的,没有之一。
⚙️ 实战:从零开始的私家传送站
好,咱们不废话,直接撸代码。我会把完整代码拆开讲,你复制粘贴就能跑。不过,先别急着复制,听我说个坑:Python版本建议3.8以上,否则有些依赖会让你怀疑人生。当初我偷懒用3.7,结果一个依赖报错,排查了一小时,血泪教训!
📁 第一步:创建项目文件夹,安装依赖
打开终端,敲几行命令:
uv init file_clipboard_server # 创建虚拟环境
cd file_clipboard_server # 进入项目目录
uv add fastapi uvicorn python-multipart # 安装依赖
这里重点来了!python-multipart 这个库是必须的,没有它,FastAPI没法解析上传的文件。官方文档虽然说了,但很多人看文档不仔细,漏掉这步,然后回来问我为啥上传不了。记住了啊!
💻 第二步:编写核心代码 main.py
在项目文件夹里新建一个 main.py 文件,把下面这段代码丢进去。我加了详细注释,你就当我是边写边跟你唠嗑。
