SDK直接拍照 vs 文件监控自动上传 — 选择最适合您的方案
通过 WebSocket 直接连接高拍仪 SDK(eloamwebservice),在网页端完成拍照、纠偏、预览和上传的全流程。
使用官方 EloamCamera.exe 软件拍照(功能完整),Node.js 监控保存目录,发现新图片即自动上传到阿里云。
| 对比维度 | 方案一:SDK 拍照 | 方案二:文件监控 |
|---|---|---|
| 实现原理 | WebSocket 连接 eloamwebservice:9000,发送 SDK 命令链 |
chokidar 监听文件系统 add 事件 |
| 用户操作 | 打开浏览器 → 点「拍照」→ 预览 → 上传 | 打开 EloamCamera.exe → 拍照 → 保存(自动上传) |
| 拍照功能 | 基础 仅拍照,无实时预览、无手动框选 | 完整 官方软件全部功能(自动框选、视频预览、多种模式) |
| 自动纠偏 | ✓ SetDeskew SDK 接口(可靠性依赖 SDK) | ✓ 官方软件自带(实时预览框选效果更好) |
| 上传流程 | 拍照→预览→手动点上传到阿里云(也可自动上传) | 全自动 保存即上传阿里云,无需人工干预 |
| 批量效率 | 低 每张需等待 3 秒+,逐张操作 | 高 连续拍照连续上传,互不阻塞 |
| 网络依赖 | 依赖 需要浏览器到服务器网络 | 依赖 服务器到阿里云网络(拍照无需网络) |
| SDK 依赖 | 强依赖 eloamwebservice 必须运行且正常 | 无依赖 不调用 SDK,只需官方软件 |
| 稳定性 | 中 InitDevs 偶发 ret=2,需重试;WebSocket 可能断连 | 高 文件系统事件稳定成熟,无中间服务 |
| 部署复杂度 | 中 需安装 eloamwebservice,端口 9000 不能冲突 | 低 只需 Node.js 服务,不依赖外部服务 |
| 图片质量 | 可调 quality=80,约 200-500KB | 全量 EloamCamera 软件原始分辨率保存 |
| 文件名控制 | 灵活 可自定义任意文件名格式 | 受限于 使用 EloamCamera 生成的原始文件名 |
| 需要安装 | eloamwebservice + Node.js 服务 | EloamCamera.exe + Node.js 服务 |
| 监控反馈 | 实时预览、上传状态即刻可见 | 上传历史页面(每 5 秒自动刷新) |
| 方案一:SDK 拍照局限性 | 方案二:文件监控局限性 |
|---|---|
|
SDK 偶发不稳定 InitDevs 有时返回
ret=2 (Init again),需自动重试拍照速度较慢 每次需 InitDevs + OpenCamera + 等待 3s + ScanImage,约 5-6 秒一张
无实时预览 拍照前看不到摄像头画面,只能盲拍
端口冲突风险 eloamwebservice 占用 9000 端口,可能被 EloamCamera.exe 抢占
无法手动框选 仅依靠 SetDeskew 自动纠偏,效果不如人工调整
WebSocket 连接限制 浏览器到服务器再到 SDK,链路较长
密码明文保存 FTP密码存在本地
ftp_config.json,使用本机的老师都能看到 |
需要额外软件 必须启动 EloamCamera.exe 才能拍照
文件名不可控 上传文件名基于 EloamCamera 生成的原始名称
无实时预览 上传结果仅在历史记录中查看,无照片预览
延迟反馈 文件检测有约 1 秒延迟(awaitWriteFinish 等待写入完成),不是即时
无法删除失败文件 上传失败时源文件仍保留,需手动处理
缺少图片预处理 不能在上传前压缩或加水印
密码明文保存 FTP密码存在本地
ftp_config.json,使用本机的老师都能看到 |
| 能力项 | SDK 拍照 | 文件监控 | 胜出 |
|---|---|---|---|
| 操作便捷性 | ⭐⭐⭐ 需要浏览器操作 | ⭐⭐⭐⭐⭐ 双击即用,保存即上传 | 监控 |
| 拍照效率(批量) | ⭐⭐ 每张 5-6 秒 | ⭐⭐⭐⭐ 连续拍无等待 | 监控 |
| 功能完整性 | ⭐⭐ 基础拍照+纠偏 | ⭐⭐⭐⭐⭐ 官方完整功能 | 监控 |
| 稳定性 | ⭐⭐⭐ SDK 偶有异常 | ⭐⭐⭐⭐⭐ 文件系统成熟稳定 | 监控 |
| 部署复杂度 | ⭐⭐⭐ 需配置 SDK 服务 | ⭐⭐⭐⭐ 只需 Node.js | 监控 |
| 文件名自定义 | ⭐⭐⭐⭐⭐ 完全可控 | ⭐⭐ 使用原始文件名 | SDK |
| 实时预览 | ⭐⭐⭐⭐ 网页预览 | ⭐⭐ 无预览 | SDK |
| 上传反馈 | ⭐⭐⭐⭐ 即时显示状态 | ⭐⭐⭐ 历史记录刷新 | SDK |
推荐首选「文件监控模式」作为日常使用方案。只需双击 start.bat,服务自动启动并开始监控文件夹。打开 EloamCamera.exe 拍照保存,图片立即自动上传到阿里云。全程无需打开浏览器。
相比 SDK 方案,文件监控模式更稳定(不依赖 WebSocket 中间服务)、更高效(连续拍照不等待)、功能更完整(官方软件全部功能可用)。唯一的不足是无法自定义文件名和没有网页预览,但通过上传历史记录可以查看结果。
⚠ 两种方案的共同安全问题:阿里云FTP密码保存在本机 ftp_config.json 明文文件中,所有能使用这台电脑的老师都能看到。建议阿里云上为每个学校创建独立的FTP账号,以便在密码泄露时隔离风险。
SDK 拍照模式适合以下场景:没有 EloamCamera.exe 的环境、偶尔拍几张、需要网页端实时看到照片预览后再决定是否上传。两种方案可以同时启用、互补使用——日常批量用文件监控,临时单独拍用 SDK 模式。