Java 写的局域网文件分享:我称之为“联机文件”

6 月 30 日
 ko1haha

因为用不惯,所以我打算自制一个局域网的文件传输工具。

有人用 webrtc 传递文件,还以为多高级呢,原来是那种先在浏览器中下载、然后再搞到硬盘里面,有点奇怪的技术。

还有人用 indexeddb 接收下载数据,我求求你们了,放过我的 c 盘吧!

其中无界鼠标是最吸引我的,但就是用不了。 单独的 MouseWithoutBorders 也用不了,一开始无法连接,退出科学上网后可以。输入反人类链接码后,显示连接成功:all done ,但之后没有任何反应。

以上三个都不行,我猜用的最多的其实是 QQ 等聊天软件??

其实 http 静态分享一个文件很简单的。提供文件直链而已。

于是,我选择用 JavaFx 写客户端,提供文件服务。

“上传文件”时,用户需要在客户端操作,将文件拖拽到客户端,记录文件路径。

然后,在其他局域网设备上,就能用内网网址访问这个文件,就是这么简单。

还能用 mvp 在线播放。

这就是我设计的“联机文件”,还很简陋,我就用过两次,第一次分享无界鼠标安装包,第二次分享它的反人类链接码,想着连接成功就可以撤了,没想到不行,还得我出手。。

图片:背景是浏览器

1927 次点击
所在节点    分享创造
9 条回复
GeruzoniAnsasu
6 月 30 日
设备-设备 SMB
设备-手机 airdrop
跨 OS pairdrop.net ……
ko1haha
7 月 1 日
其实 alist 就能胜任,我也不知道我为什么要做这个。。

# alist 优点
- 视频流播放很流畅
- 支持网盘


# “联机文件” 优点
- 启动更快,自带大图标 GUI
- 精准分享,无需配置

就这样吧。
AV1
7 月 1 日
关于 WebRTC 那个,写 IndexedDB 、OPFS 肯定是不好的。
更好的做法应该用 showDirectoryPicker()、showSaveFilePicker()、showOpenFilePicker()三兄弟,直接写硬盘,还支持流式读写。不过缺点是只支持 Chrome (以及类似内核的浏览器)。
programApe
7 月 1 日
我也搞过这个,iphone 端和 macos 端还上架了,tv 端和 vision 端审核没过,安卓、windows 都没上架 https://github.com/chenqi92/share 。最近好像有消息安卓和苹果直接打通原生分享的感觉没啥必要了。
varrily
7 月 1 日
localsend
chouvel
7 月 1 日
@programApe 这个项目牛啊,很有格调。
dyexlzc
7 月 1 日
类似的软件已经有了,pip install updog ,基础的上传下载就有了
Erniu
7 月 1 日
python -m http.server?
ssack9
7 月 2 日
居然选择了 Java

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1224061

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX