檔案傳輸緒論:手機、電腦傳檔的一百種方式
我就只是想傳一個檔案而已啊……
傳一個檔案需要多少網路工程師?七個,因為網路有七層。
TL;DR: 傳檔方式天梯圖
| 類型 | 範例 | 可通過外網 | 需要網路知識 | 第三地暫存 | 小檔案 | 大檔案 | 資料夾 | 日常使用推薦 |
|---|---|---|---|---|---|---|---|---|
| 通訊軟體 | LINE、微信 | ⭕ | ❌ | ⭕ | ⭕ | 🔻 | ❌ | ⭐⭐⭐ |
| 電子郵件 | Gmail、Outlook | ⭕ | ❌ | ⭕ | ⭕ | 🔻 | ❌ | ⭐ |
| 臨時分享 | Send Anywhere | ⭕ | ❌ | ⭕ | ⭕ | 🔻 | ❌ | ⭐⭐⭐ |
| 雲端硬碟 | Google Drive | ⭕ | ❌ | ⭕ | ⭕ | ⭕ | ⭕ | ⭐⭐⭐ |
| 遠端桌面 | RDP、TeamViewer | ⭕ | ❌ | ❌ | 🔺 | 🔻 | ❌ | ⭐⭐ |
| 私有雲 | NAS、Synology | 🔻 | 🤯 | ⭕ | ⭕ | ⭕ | ⭕ | 🤯⭐⭐⭐⭐ |
| 自架檔案分享 | 網站、Zipline | ⭕ | 🤯 | ⭕ | ⭕ | ⭕ | ⭕ | 🤯⭐⭐⭐⭐ |
| 同步工具 | Syncthing | 🔻 | ⭕ | 🔻 | ⭕ | ⭕ | ⭕ | 🤯⭐⭐ |
| 點對點分發 | BitTorrent | ⭕ | 🔺 | ❌ | 🔻 | ⭕ | ⭕ | 🤯 |
| 遠端檔案服務 | FTP、WebDAV、HTTP | 🔻 | 🔺 | ❌ | ⭕ | ⭕ | ⭕ | ⭐⭐⭐⭐ |
| 網路硬碟協定 | SMB、NFS | 🔻 | 🔺 | ❌ | ⭕ | ⭕ | ⭕ | ⭐⭐⭐ |
| 專用工具 | LocalSend、Snapdrop | ❌ | 🔻 | ❌ | ⭕ | ⭕ | ⭕ | ⭐⭐⭐⭐⭐ |
| 隔空投送 | AirDrop、Quick Share | 🔺 | ❌ | 🔻 | ⭕ | 🔻 | ❌ | ⭐⭐ |
| 藍牙 | Bluetooth | ❌ | ❌ | ❌ | 🔺 | 🔻 | ❌ | 🤬 |
| 實體傳輸 | 傳輸線、隨身碟、記憶卡 | ❌ | ❌ | ❌ | ⭕ | ⭕ | ⭕ | ⭐ |
- ⭕:適合或具備
- 🔺:勉強可用
- 🔻:有限制或視情況而定
- ❌:不適合或不具備
- 🤯:適合熟悉網路與伺服器設定者
- 🤬:拜託先不要
- 「資料夾傳輸」是指一次傳輸整個資料夾,變成壓縮檔的不算。
還是霧煞煞?最後有 簡單總結 !
怎麼會有那麼多傳檔的方法?
因為在不同的場景下,有不同的適合傳檔方式!
試想幾個場景:
- 在影印店,要傳檔案給陌生的電腦。
- 在辦公室,要傳資料給同僚的電腦。
- 在外玩耍,要分享照片給隨行夥伴。
- 自己電腦,要備份或傳輸手機檔案。
在不同的場景下,網路的環境可能不同,傳輸的東西也不一樣,甚至對於檔案安全都有各自考量。所以,同樣是傳檔案,其實可以細分成這種多維度的需求,就有了這麼多的工具。
傳檔的一百種方式
通訊軟體
(跨網路、第三方暫存、小檔案)
眾所周知,人與人之間是無法相互理解的,人類就是如此悲哀的生物。既然放棄了人與人之間溝通,那通訊軟體拿來傳檔案也是剛好而已。
作為無論是工作上生活上手機上電腦上可能都幾乎都是最常打開的 App 沒有之一,而且還是聯絡通訊的工具,大多都有傳檔的功能,例如 Telegram、LINE、WhatsApp、Discord,以及中國常見的 QQ 和微信,甚至包含一些社群媒體的私訊,例如 Facebook Messenger。
作為人與人之間溝通的工具,當然最適合跨網路和朋友分享檔案。一些應用例如 Telegram、LINE 甚至有自說自話自言自語的功能,就可以做到自己給自己分享檔案。
(通常的)此類應用會先暫存到他們服務的伺服器上,再供對方下載(即第三方暫存),對於隱私潔癖的我來說就比較難受。同時這也可能帶來檔案大小的限制。通常也不支援一次傳輸整個資料夾。
電子郵件
(跨網路、第三方暫存、小檔案)
現今,電子郵件除了收廣告,可能就是對公事務那種衣冠禽獸一般的繁文縟節了。
電子郵件的本質大概就是通訊軟體的懷舊復古版,使用場景我覺得也差不多。甚至電子郵件對於附件的支援就是迷,通常看收件人信箱提供商的服務態度,難說會不會被退信(攤手)。
臨時分享
(跨網路、第三方暫存、短時效)
臨時分享是一類專用於臨時檔案分享的網路服務,原理就是:打開網頁就能上傳檔案,甚至不需要登入,它會給你一個方便手打的網址,通常是幾個數字和字母。檔案暫存在他們的伺服器裡,時效通常幾小時到幾天。然後在對方電腦的瀏覽器上輸入這個網址,就可以方便地下載這個檔案。
知名的服務例如(已經死掉的)Firefox Send,以及日本樂天的 Send Anywhere。
非常適合例如傳檔給影印店等陌生電腦。
順便提醒,在陌生電腦上無論是插隨身碟或者是登入帳密都是極度危險的!而這個方式可以在不需要這些危險動作的前提下傳檔案。
至於第三方暫存的隱私和安全性,首先你的檔案都會被丟給影印店了,安全已經被大打折扣。使用這類服務的時候,評量他們的可信度,也可以看他們的屁股硬不硬,例如 Send Anywhere 現在就是大財閥日本樂天旗下的服務。以及看看他們隱私的承諾如何如何,大公司對於資安可能會有考量。但無論再怎麼說,畢竟承諾也只是承諾,除非是自己架設服務這種的完全自己控制,也不能控制別人為所欲為⋯⋯
如果列印、影印一些重大個資的檔案,例如身分證件、護照,基於我們看屁股硬不硬的原則,超商的事務機雖然貴,但可能是比影印店更好的選擇。
雲端硬碟
(跨網路、第三方暫存、一拖拉庫檔案)
雲端硬碟例如 Dropbox、Google Drive、Microsoft OneDrive 等,就是為了解決網路傳輸暫存分享檔案而生。
而一些大平台例如 Google Drive、OneDrive 甚至整合了辦公套件,可以即時多人協作編輯一份檔案,是大學小組作業死線趕工的得力助手。
通常雲端硬碟的價格和容量不能說是量大管飽,但是講道理它對於賽博文書工作流可以說是必備工具了。
至於傳檔案,網路硬碟通常有分享功能,但他們的連結和「臨時分享」工具相比簡直是又臭又長,不會想手動輸入的那一種。可以搭配通訊軟體和電子郵件來傳送分享連結,彌補他們傳大檔案、資料夾的不足。
再次提醒,不要在陌生電腦上登入網路硬碟的帳密!請用分享連結功能。
遠端桌面
(跨網路、無暫存)
遠端桌面例如 Google Chrome Remote Desktop、TeamViewer 等,通常會附有傳檔功能。但是講道理,這個功能比較像是 DLC,好不好用先不說,可靠性可能都是個問題,只適合順便或應急。
私有雲
(本地網路、自有暫存、大量檔案)
作為中年男子三大愛好之一的 NAS,好不好用和安全性取決於架設者的技術能力。如果會玩 NAS,這篇文章就顯得班門弄斧了。
自架檔案分享
(跨網路、自有暫存、大量檔案)
現在有很多開源、自架的服務,可以替代那些第三方控制的服務:雲端硬碟有 Nextcloud,檔案分享有 Zipline、PrivateBin,甚至可以說功能更為豐富。
Nextcloud 就是全功能雲端硬碟,Google Drive、OneDrive 的替代品,甚至連協作文書套件都一應俱全。Immich 就是 Google Photos 的替代品。
Zipline 是同時有短連結、PasteBin、檔案分享、網路相簿(圖床)的超多功能分享服務。例如說,Discord 對於分享的圖片和影片有大小限制,在不給 Discord 課金的前提下,我可以先傳到我的 Zipline 再傳連結到 Discord,甚至可以不用點連結就能照常顯示。
同樣作為自給自足的技術,好不好用和安全性取決於架設者的技術力。
同步工具
(主要是本地網路,可以是無暫存,大量檔案)
同步工具例如 Syncthing,說白了檔案同步也是一種傳檔。
但是這些同步工具通常都設定精密複雜,對於網路能力的要求也頗高。若是已經有了這個系統順便用一下還好說,專門為此架設整套系統就感覺有點殺雞用牛刀了,對吧。
點對點分發
(主要是跨網路、可以是無暫存、大量檔案)
知名的點對點分發協定例如 BitTorrent。適合檔案大量分發。但是我們這裡專注傳檔,雖然也不是不行但是何必呢兄弟⋯⋯
遠端檔案服務
(本地網路,無暫存,大量檔案)
遠端檔案服務協定,例如 FTP、WebDAV、HTTP。在電腦上架設這些服務可以說是超級麻煩,但我們這裡不講那些複雜的。
一些手機內建或第三方的檔案總管,例如 Android 上的 Amaze File Manager,有些會有「分享伺服器」或者類似名字的功能,其原理就是這些協定的伺服器。使用方法也非常簡單,首先確定兩台設備在同一個網路下,手機打開分享伺服器,然後電腦上用瀏覽器或者專用客戶端,例如 WinSCP,輸入網址,就可以存取檔案了。
好不好用取決於這個手機上的檔案總管的 App 和電腦上的客戶端、瀏覽器好不好用,以及需要一個穩定的本地網路。
講道理,若是要玩 FTP Client 確實有那麼一點點的技術門檻,但是考慮到現在 USB 傳輸線等實體傳輸的各種問題,可以說是現在手機對電腦傳「大量檔案」的最佳方式,沒有之一。
網路硬碟協定
(本地網路,無暫存,大量檔案)
網路硬碟協定,例如 SMB、NFS 等,例如說 Windows 上的網路芳鄰。在電腦上架設這些服務不能說是方便,但對一般人來說也算是麻煩。
大概是電腦上設定共享資料夾,手機上的檔案總管之類的 App 連線過去。 由於會涉及防火牆甚至 Windows 莫名其妙的帳密管理,除非原本就有這個系統順便用一下,對於一般人來說不是那麼推薦。
還有 DLNA 是媒體分享與串流,常用於和電視播放電腦、手機或 NAS 裡的影音,難用到我不想接觸它。
專用工具
(本地網路,無暫存,大量檔案)(每個工具特別討論)
本地網路傳檔的版本解答就是 LocalSend,兩邊設備都裝上之後,在同一個區域網路下就可以開箱即用,零配置。
什麼檔案、圖片、文字、剪貼板甚至資料夾,無論是電腦對電腦、電腦對手機、手機對電腦、手機對手機,只要在同一個網路下,LocalSend 就是版本答案。
還有其他例如 Snapdrop 也曾是一代神器,通過 WebRTC 實現網頁端點對點傳送,但是在 WebRTC 由於隱私安全被人人喊打的今天,也許不是最佳的選擇。
隔空投送
(可能跨網路,可能有第三方暫存,小檔案)
隔空投送例如 Apple 家的被玩壞的 AirDrop,以及 Android 家的洗心革面的 Quick Share。通常用於同生態設備內的檔案互傳。好處是內建於手機。可以視為現代版藍牙檔案分享。
AirDrop 在 Apple 生態內基本無敵,但故步自封的 Apple 讓它也只能在 Apple 生態內無敵。
Google 從 Samsung 手上領養的 Quick Share,他們卻正在努力變得更好用,例如已經有了 PC 客戶端。最近 Quick Share 已經開始強行相容 AirDrop,部分 Android 手機甚至已經能直接和 AirDrop 互傳,但講道理我覺得期待這種事情不如儘早另謀出路。
適合小夥伴們結伴出遊拍照後快速分享檔案,然後發現這什麼狗屁玩意兒難用死了,最後回去改用 LINE。
藍牙
(本地網路,無暫存,幾乎無法傳檔案)
拜託不要。
實體傳輸
(不需要網路,無暫存,大量檔案)
實體傳輸包括 USB 傳輸線、隨身碟、隨身硬碟、記憶卡。
USB 的毛病多了去了,首先是設備端的 USB 支援,即使都是 USB-C 連接埠,就連 Apple 都會偷工減料是 USB 2.0,速度最高只有 480 Mbps,這個傳輸速度可能還不及現代 Wi-Fi 的零頭,即使是設備側都支援 USB 3.x,例如 5 Gbps,也得找到一條支援高速資料傳輸的線。USB-C 線能充多少瓦,和它能傳多快是兩回事;不少大功率充電線的資料通道仍然只有 USB 2.0 的 480 Mbps,甚至可能根本不能傳資料。就算是全鏈路都有了 USB 3.x 的支援,連線傳輸的時候還得像皇帝一般供著,線不能碰了,否則傳輸容易失敗。還不說 Windows 對於這種 USB 連線不知道有什麼障礙,載不出來、卡住、丟檔案更是家常便飯。
至於隨身碟、隨身硬碟和記憶卡,要知道不同設備支援的檔案系統就像不同宗教一般水火難融,假如插入不支援的設備甚至會像問你要不要信教一樣,提示要不要格式化,一個萬一不小心按下去,整碟資料直接全部灰飛煙滅。即使排除萬難達成了跨文化的溝通,實際傳輸速度也高度取決於儲存媒體、讀卡機、連接埠和檔案系統,除了外接固態硬碟(SSD)和價格堪比黃金的高速記憶卡與讀卡機(例如 CFexpress),大部分便宜的設備,傳輸速率可能也不及 Wi-Fi 的零頭。
建議只在無法使用網路或者網路很爛、或者實在沒辦法的克難情況下再用實體傳輸。
實在克難用的話,建議在傳輸前後比對檔案數量和完整性。