ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何使用 LocalSend 的“通过链接接收”让浏览器把文件上传到本设备

如何使用 LocalSend 的“通过链接接收”让浏览器把文件上传到本设备 如何使用 LocalSend 的“通过链接接收”让浏览器把文件上传到本设备【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend当你有一台没有安装 LocalSend 的设备比如网吧的电脑、别人的手机、浏览器网页端又想把文件传到自己的设备时LocalSend 的 “Receive via link”通过链接接收功能可以让对方直接用浏览器把文件上传到你这边。它和 AirDrop 式的局域网设备发现不同不需要对方装任何应用只要两台设备能访问同一网络、浏览器能打开你给出的链接即可。该功能从 1.18.0 版本加入见 CHANGELOG 中 “feat: receive via link”网页拖放上传从 1.18.2 开始支持“feat: drag and drop files into the Receive via link browser page”。在本设备上开启“通过链接接收”打开 LocalSend切换到Receive接收页签。点击Receive via link按钮。对应界面代码见 receive_tab.dart。页面会先显示 “Starting server…”随后进入 “Receive via link” 页面标题来自 en.json 中webReceivePage.title。页面顶部会列出可打开的链接格式为http://本机IP:LocalSend端口设备有多个网络接口时会显示多条链接提示语为 “Open one of these links in your browser:”每条链接旁有复制按钮点击旁边的 QR 图标可以生成二维码方便手机扫码打开。链接由 web_share_page.dart 根据本地 IP 与服务器端口拼接默认使用未加密的 http。可选设置都在同一个页面上按需勾选Require PIN要求 PIN勾选后会随机生成一个 PIN 并显示 “The PIN is ...”。之后浏览器访问上传接口时若未携带正确 PIN 会收到 401网页会弹出输入框要求输入 PIN。Encryption加密勾选后链接变为https://。页面提示 LocalSend 使用自签名证书需要你在浏览器中手动接受该证书提示语 “LocalSend uses a self-signed certificate. You need to accept it in your browser.”。Automatically accept requests自动接受请求勾选后浏览器发起的上传会跳过本设备的接收确认页直接接收。在浏览器中上传文件在浏览器所在设备的浏览器中打开上一步的链接需与运行 LocalSend 的设备网络互通。打开的是 LocalSend 内置的上传页页面源码为 upload.html页面中央有一个Upload按钮和提示文字 “Place items to share.”。上传有两种方式点击Upload按钮在文件选择框中挑选一个或多个文件直接把文件拖拽到页面上1.18.2。注意脚本中目录被明确跳过只上传文件不上传整个文件夹。网页随后向本设备的POST /api/localsend/v2/prepare-upload发起请求携带?pin参数如果设置了 PIN被接受后逐个向POST /api/localsend/v2/upload上传页面以 “x/y file(s)” 形式显示进度。如果本设备没有勾选自动接受上传请求会先停在你的 LocalSend 界面上接收页列出发送方显示为 “Web Browser”和文件列表你需要点击接受后浏览器侧才开始实际传输拒绝则浏览器收到 403 并显示 “uploadRejected” 对应的提示。结果验证浏览器侧上传页显示 “已完成数/总数 file(s)” 的进度全部完成后按钮重新可用可以再次上传。本设备侧文件接收后出现在你设置的保存目录中接收设置里的 “Save to folder”默认是 Downloads逻辑见 receive_controller.dart 中settings.destination ?? await getDefaultDestinationDirectory()并会写入接收历史。常见状态码对应的现象upload.html 中对服务端返回的处理说明了浏览器侧可能看到的情况HTTP 状态浏览器页面上的表现含义401弹出 PIN 输入框提示输入再次失败会附加 “invalidPin” 提示PIN 缺失或错误429显示 “tooManyAttempts”PIN 尝试次数过多被限流403显示 “uploadRejected”本设备拒绝了这次上传409显示 “busy”本设备已有上传会话在进行204显示 “uploadRejected”接收方接受了请求但拒收了全部文件0显示 “Error”无状态码连接中断或被接收方取消使用限制与收尾链接只在你停留在 “Receive via link” 页面期间有效该页面离开时会自动停止 web 分享服务器并恢复 LocalSend 原本的服务器状态见 web_share_page.dart 中_revertServerState所以上传完成后记得回到正常界面。默认是 http 明文传输跨网络共享敏感文件时建议勾选加密并接受自签名证书或至少设置 PIN。浏览器上传页只支持文件拖放目录会被跳过若需要传整个文件夹建议改用 LocalSend 设备间的常规传输。【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表