繁体   English   中英

屏幕和上传 Java Class 在本地工作但不能联机。 没有任何错误。 怎么了?

[英]Screen And Upload Java Class Works Locally But Not Online. No Errors Whatsoever. What's Wrong?

我是新手,所以请不要对我太苛刻。 这个概念非常简单,我希望我的用户查看我网站的某个部分,在他们的机器上截图并上传回我的网站。

我在 class 在线时没有收到任何明显的错误,但我猜上传部分有问题,因为当我托管 class 时我的帐户中没有截图 img。在本地,下面设置的路径为 C: / 就像有人帮助我一样工作正常。 如何让它在 web 上运行?

import java.applet.*;
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.*;
import java.io.*;
import javax.imageio.ImageIO;

public class ScreenShot extends Applet {

static boolean captureScreenShot(String uploadPath) 
{
boolean isSuccesful = false;
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage capture;
try {
URL whatismyip = new URL("http://mysite.com/misc.php?page=showremoteaddr");
BufferedReader in = new BufferedReader(new InputStreamReader(
            whatismyip.openStream()));

String ip = in.readLine(); //you get the IP as a String
capture = new Robot().createScreenCapture(screenRect);
// screen shot image will be save at given path with name "screen.jpeg"
ImageIO.write(capture, "png", new File( uploadPath, ip + ".png")); 
isSuccesful = true;
} catch (AWTException awte) {
awte.printStackTrace();
isSuccesful = false;
}
catch (IOException ioe) {
ioe.printStackTrace();
isSuccesful = false;
}
return isSuccesful;
}

public static void main(String [] args){
    String path = "/var/chroot/home/content/srvu/srvr/www";
    captureScreenShot(path);
}
}

Java 从互联网下载的小程序没有截图或访问文件系统的权限。 想象一下如果他们这样做会带来巨大的安全问题,获得这些权限的关键是对您的小程序进行数字签名——这是一个相当复杂的过程,可能会花钱。 也。 是有关该主题的简短教程。

此外,applet 没有main()例程——或者更准确地说,如果您创建一个 applet 并为其提供main()方法,浏览器将不会调用它。 您的小程序中的代码永远不会运行; 小程序有自己的一组入口点; 你可以在这里学习创建它们的基础知识。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM