如何在chrome中访问USB设备?

时间:2016-06-08 17:26:32

标签: javascript java google-chrome applet

我需要一个用于从usb驱动器复制文件的Web应用程序。我可以编写一个java applet来复制usb驱动器中的文件,但chrome不再支持applet了。你能建议任何替代方案吗? 我需要一个Web应用程序而不是Chrome应用程序。

2 个答案:

答案 0 :(得分:0)

我建议使用node.js,它的跨平台,可以从网络浏览器访问usb端口。

Usb图书馆: https://www.npmjs.com/package/usb

证明: How to send data to USB device in node.js using libusb

希望这有帮助

答案 1 :(得分:0)

Chrome 61+的implementation中的WebUSB API

不会允许您向OS / File System发出命令,例如:

file://some_file_location/myfile.txt复制到file://USB_DRIVE/some_folder/myfile.txt

Chrome需要读取文件并直接写入设备。换句话说,浏览器将通过读取文件(请参见下文)然后写入USB设备来复制文件。对于大型文件,这可能会非常缓慢且不可行。

您读取本地文件的选项是:

  • 使用--allow-file-access-from-files标志运行chrome。这是一个安全问题/风险,用户需要在此状态下访问您的网站/应用程序。
  • 使用FileFileReadernon-standard FileSystem API以及input type="file"或拖放

这两种方法均不适用于您的问题/解决方案。