爱意满满的作品展示区。
ko1haha

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

  •  
  •   ko1haha · 2h 21m ago · 141 views

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

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

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

    • 现有网页工具:需要输入取件码,UI 简陋、不能看到所有文件,难用。
    • windows 自带网络分享:需要一个专门的文件夹或机器,不符合需求。
    • powertoys 无界鼠标:根本用不了

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

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

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

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

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

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

    还能用 mvp 在线播放。

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

    图片:背景是浏览器

    3 replies    2026-07-01 00:10:18 +08:00
    GeruzoniAnsasu
        1
    GeruzoniAnsasu  
       2h 13m ago
    设备-设备 SMB
    设备-手机 airdrop
    跨 OS pairdrop.net ……
    ko1haha
        2
    ko1haha  
    OP
       2h 10m ago
    其实 alist 就能胜任,我也不知道我为什么要做这个。。

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


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

    就这样吧。
    AV1
        3
    AV1  
       2h 2m ago
    关于 WebRTC 那个,写 IndexedDB 、OPFS 肯定是不好的。
    更好的做法应该用 showDirectoryPicker()、showSaveFilePicker()、showOpenFilePicker()三兄弟,直接写硬盘,还支持流式读写。不过缺点是只支持 Chrome (以及类似内核的浏览器)。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1155 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
    ♥ Do have faith in what you're doing.