我是新手,请不要对我太苛刻。这个概念非常简单,我希望我的用户能够查看我网站的某个部分,在他们的计算机上截取屏幕截图并将其上传回我的网站。
我在在线类(class)中没有收到任何明显的错误,但我猜测上传部分有问题,因为当我主持类(class)时,我的帐户中没有放置任何屏幕截图 img。在本地,下面设置为 C:/的路径就像有人帮助我一样工作正常。我如何让它在网络上工作?
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);
}
}
最佳答案
从 Internet 下载的 Java 小程序没有截屏或访问文件系统的权限。想象一下,如果他们这样做的话,将带来巨大的安全问题!获得这些权限的关键是对您的小程序进行数字签名——这是一个相当复杂的过程,也可能需要花钱。 Here是有关该主题的简短教程。
此外,小程序没有 main()
例程——或者更准确地说,如果您创建一个小程序并为其提供一个 main()
方法,则浏览器不会调用它。小程序中的代码永远不会运行!小程序有自己的一组入口点;您可以学习创建它们的基础知识 here.
关于java - 筛选并上传 Java 类在本地工作,但不能在线工作。没有任何错误。怎么了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021405/