code小生 一个专注大前端领域的技术平台
公众号回复Android
加入安卓技术群
转自量子位
下面这张「二维码」,最近在 GitHub 上火了。
为什么这么火?
因为只要扫描二维码,通过 Wi-Fi,文件就可以在电脑和手机之间互传 — 文件传输助手。
Linux 传安卓,分分钟搞定。
打破系统之间的 “边界”,就是它最厉害之处。
那么,怎么就能通过一张二维码,就能完成文件传输呢?
简单来说,就是将 Web 服务器,绑定到随机端口上的 Wi-Fi 网络接口地址,然后为其创建一个处理程序。
这个处理程序会打印出来一张二维码,对文本进行编码:
http://{address}:{port}/{random_path}
大多数二维码应用程序,都能检测到解码文本中的 URL,并采取相应的行动 (即使用默认浏览器打开解码后的 URL)。
所以,当二维码被扫描之后,手机浏览器就会开始下载内容。来看下上手效果吧。
首先,是将文件发送到手机:
接下来,看看手机接收文件的效果:
需要注意的是,这个项目要用到的语言是 Go 1.8。
安装项目非常简单,一行代码就能搞定:
go get github.com/claudiodangelis/qrcp
或者,从 Releases 页面下载最新的二进制文件到 /usr/local/bin (或 $PATH 中的另一个位置) ,然后为二进制文件加入执行权限:
chmod +x /usr/local/bin/qrcp
要发送文件到手机,则输入:
qrcp MyDocument.pdf
若是要发送多个文件,也非常简单:
# Multiple files
qrcp MyDocument.pdf IMG0001.jpg
# A whole folder
qrcp Documents/
也可以在传输之前,将文件压缩:
qrcp —zip LongVideo.avi
当接收文件时,qrcp 会提供一个 “上传页面” ,可以通过这个页面,从移动设备中选择文件。
接收文件到工作目录:
qrcp receive
将文件接收到特定目录:
# Note: the folder must exist
qrcp receive --output=/tmp/dir
提到文件传输,苹果和华为生态的小伙伴们可能就会表示不服了……
苹果 AirDrop,不香吗?
华为” 一碰传 “,不香吗?
确实,在自家系统生态内部还是非常 OK 的,但” 出了圈 “…… 可就不好说了。
或许你还会问,微信或 QQ 传送文件不就行了?
行,但是传输文件大小有限制,有些文件还会被压缩……
如果对于跨终端、跨设备、跨平台的文件传输,你有别的妙招,也别忘了分享给我们,笔芯~
GitHub 项目地址:
https://github.com/claudiodangelis/qrcp
推荐阅读:
程序员工资不会上涨的几个现象
为什么 IDEA 比 Eclipse 更好?
22 个最常用的 Python 包
如果你有写博客的好习惯
欢迎投稿
点个在看,小生感恩❤️