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