[英]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.