文件传输

概述

在桌面运行 Spck CLI 时,它充当桌面文件系统与手机本地项目之间的同步枢纽。两侧在 Spck Editor 文件管理器中并排显示——手机的本地项目在左侧,桌面文件作为已连接的远程服务器——您可以使用标准的复制粘贴命令在任意方向复制文件或整个文件夹。

无需 AirDrop、蓝牙、USB 数据线或第三方云存储。传输通过 WebSocket 连接进行端到端加密,当两台设备在同一网络时,数据仅在本地 Wi-Fi 内流转。

工作原理

CLI 将桌面目录作为远程服务器项目暴露在 Spck Editor 的文件管理器中。保存在手机上的本地项目存储在应用的本地存储中。Spck Editor 将两者视为同等的项目位置,因此在单个项目内有效的所有文件操作(包括复制粘贴)也可以在它们之间进行。

手机(本地存储)                 桌面(通过 CLI)
────────────────────────         ─────────────────────
my-project/               ↔     ~/projects/my-project/
  ├── index.html                   ├── index.html
  ├── style.css                    ├── style.css
  └── assets/                      └── assets/
      └── logo.png                     └── logo.png

目录以递归方式传输——内部所有文件都会被复制,子目录在目标位置自动创建。

从桌面到移动设备

当您想将文件从电脑带到手机时使用此方式——例如离线工作、与只有移动应用的同事共享项目,或在设备上保存工作快照。

  1. 在桌面启动 CLI,指向您要传输的文件夹:

    spck --root ~/projects
    
  2. 用相机应用扫描二维码并在 Spck Editor 中打开链接,连接手机

  3. 在 Spck Editor 的项目面板中,桌面文件夹显示为远程服务器项目。

  4. 在远程项目中长按您想要的文件或文件夹,然后点击复制

  5. 导航到手机上的本地项目(或通过新建项目创建新项目)。

  6. 长按目标文件夹,然后点击粘贴

文件从桌面下载并保存到手机的本地存储。

从移动设备到桌面

当您想将手机上的工作发送回桌面时使用此方式——例如外出编辑后,或整合在设备上创建的项目。

  1. 在桌面启动 CLI,指向您希望文件保存的文件夹:

    spck --root ~/Desktop/from-phone
    
  2. 扫描二维码连接手机

  3. 在 Spck Editor 中,打开手机上包含要发送文件的本地项目

  4. 长按您想要的文件或文件夹,然后点击复制

  5. 项目面板中导航到远程桌面项目

  6. 长按目标文件夹,然后点击粘贴

文件从手机本地存储读取,并通过 CLI 写入桌面。

传输整个项目

您可以通过一次粘贴操作复制整个项目文件夹。在文件树中长按项目根目录并选择复制,然后导航到目标位置并粘贴。整个目录树(包括所有子目录中的所有文件)都会被传输。

适用于以下场景:

  • 在进行重大更改前将移动项目备份到桌面
  • 从现有桌面代码库初始化手机上的新项目
  • 将多个设备上的工作合并到一处

提示

文件大小限制

默认最大文件大小为每个文件 10 MB。要传输图像、压缩包或编译后的二进制文件等较大文件,请在 CLI 配置中增加限制:

{
  "filesystem": {
    "maxFileSize": "200MB"
  }
}

详情请参见 CLI 配置

传输速度

速度完全取决于您的本地 Wi-Fi 或网络连接。对于大型目录,传输逐文件进行,因此总体吞吐量与文件数量成比例。在典型的家庭 Wi-Fi 网络上,以文本为主的小型项目(数百个文件)可在几秒内完成。

安全性

所有传输均通过 WSS(WebSocket Secure)加密,每个请求都使用每次会话的密钥签名。中继服务器在设备间转发消息,但不会接收未加密的内容。详情请参见 CLI 安全

同时运行多个传输

CLI 暴露单个根目录。要同时从多个位置传输,请在不同终端中运行独立的 CLI 实例:

# 终端 1:暴露 ~/projects
spck --root ~/projects

# 终端 2:暴露 ~/Documents
spck --root ~/Documents

每个实例生成自己的二维码和连接,两个远程服务器同时出现在 Spck Editor 的项目面板中。