我整理了一个基本的小程序,用户从他们的硬盘驱动器中选择一个文件,它读取该文件的第一行并将其传递给 JavaScript 进行一些额外的预处理,然后当您单击一个按钮时,它会尝试上传该文件通过 HTTP POST 请求文件。我找到了一个非常基本的开源小程序,用于上传我为最后一点复制和修改的文件。
但问题是,它并不完全奏效。看起来它运行良好,但后来我遇到了两个与权限相关的障碍。Java 控制台中的消息表明小程序在以下两个权限上存在访问被拒绝错误:
java.lang.RuntimePermission setFactory
java.io.FilePermission read
我觉得这很奇怪,因为当我使用 NetBeans 中选中的“自签名”选项构建小程序时,我以为我已经授予了对小程序的权限,然后单击以确认浏览器中的小安全弹出窗口。
此外,我自己编写的部分,它读取文件并将第一行传递给 JavaScript 工作正常。这是一个非常明确的指标,表明小程序能够从本地文件系统中读取!直到我真正尝试开始上传,麻烦才开始。我想需要注意的一件事是,上传过程似乎在一个新线程中运行,而其余部分都在主类中运行而没有创建线程。
我完全是 Java 新手,对 Java 中的线程知之甚少;我是否需要以某种方式将权限传递给这个新线程?或者有什么效果?提前致谢。