这个码太牛逼了!实现跨系统,任意秒传文件

  • 时间: 2020-07-06 09:14:57

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

One More Thing

提到文件传输,苹果和华为生态的小伙伴们可能就会表示不服了……

苹果 AirDrop,不香吗?

华为” 一碰传 “,不香吗?

确实,在自家系统生态内部还是非常 OK 的,但” 出了圈 “…… 可就不好说了。

或许你还会问,微信或 QQ 传送文件不就行了?

行,但是传输文件大小有限制,有些文件还会被压缩……

如果对于跨终端、跨设备、跨平台的文件传输,你有别的妙招,也别忘了分享给我们,笔芯~

GitHub 项目地址:
https://github.com/claudiodangelis/qrcp

推荐阅读:

程序员工资不会上涨的几个现象

为什么 IDEA 比 Eclipse 更好?

22 个最常用的 Python 包

如果你有写博客的好习惯