java - 网页: accessing local file of the client/Alternatives to Silverlight/Java Applets

标签 java silverlight applet

我们有以下要求: 我们网站的用户应该能够将数据从他们的手持扫描仪上传到我们的网站。

扫描仪映射到 PC 上的本地驱动器。编写 .NET 程序并从设备访问文件并将这些文件发送到 Web 服务非常容易。

我们的用户希望直接从网页获得此信息。他们点击一个按钮,(网站的)组件从设备读取数据并将其发送到服务器。

我知道这应该可以通过以下技术实现: * Java 小程序 * 微软银光 * 编写一个富客户端程序,将其发送到我们的网络服务(用户希望摆脱它)

好吧,它们看起来都不太有吸引力(Silverlight 不是已经死了吗?),所以我想知道是否有任何其他技术可以用来从网页访问客户端上的本地文件?

最佳答案

这是一个反复出现的问题。我已经尝试了上面评论的一些替代方案,它们或多或少可以完成工作。

对于我来说,作为 Java 开发人员,使用 JavaFX 小程序似乎是最好的选择。我所做的并不是创建一个视觉小程序,它仍然很重并且很难与网页设计集成。但我创建了一个 1px 小程序,它导出 javascript 特权函数。 http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html

无论如何,您必须使用有效的 CA 对小程序进行签名,即使如此,您仍然会遇到一些用户问题,因为 java 未更新、安装了 32 位 jre 但使用 64 位浏览器、某些防病毒软件产生小程序故障等而出现烦人的消息。 ..

您还可以使用此框架为 firefox、chrome 和 IE 创建插件 http://www.firebreath.org/display/documentation/FireBreath+Home安装对于用户来说几乎是透明的,除了安装浏览器之外不需要任何其他东西。缺点是你需要用 C++ 来实现它,所以这取决于你是否做跨平台插件,当然你需要为你想要支持的每个操作系统编译一个版本。 Firebreath提供了一些主流SO支持的通用API。

在某些(并非全部)情况下有用的其他选项:您可以创建一个可以执行特权工作的系统托盘桌面应用程序。该应用程序可以启动一个绑定(bind)在本地主机接口(interface)中的小型Web服务器,浏览器可以使用跨域ajax调用与系统托盘应用程序通信并向Web应用程序发送指令和更新。

无论如何,要仔细实现此类解决方案,这需要付出一些努力才能为用户提供良好的体验。

关于java - 网页: accessing local file of the client/Alternatives to Silverlight/Java Applets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23333596/

相关文章:

java - 启用证书吊销检查时,Java 1.7u25 上的小程序出现 ClassNotFoundException;在 1.6 上工作正常

java - 如何区分通知点击和通知按钮点击

c# - 如何通过反射获取属性的 DisplayAttribute?

具有内存中字典的 Java servlet,它是线程安全的,并且可以重新初始化

Silverlight DataTrigger 未在加载时触发

silverlight - 没有为Silverlight输出指定Silverlight项目

java - 可以在浏览器中启动 JWS 小程序而不是独立启动吗?

java - 小程序未显示完整

java - 编写依赖于 gems 和 Maven 项目的 JRuby 代码

java - 未找到当前线程的 session (Spring 3.1.X 和 Hibernate 4)