Javascript 拍摄iFrame的屏幕截图
我正在寻找一种简单的方法,在我的ASP页面截图的iFrame。我就是不能用C#实现它,而且我缺乏Javascript知识!有人知道实现这一目标的简单而最好的方法吗 我想做的是,我正在建立一个网站,学生可以登录到我国的电子政务网站,并证明他们是否是继续学习的学生,只需点击一下,这样他们就可以从我们的服务中获得折扣Javascript 拍摄iFrame的屏幕截图,javascript,asp.net,iframe,Javascript,Asp.net,Iframe,我正在寻找一种简单的方法,在我的ASP页面截图的iFrame。我就是不能用C#实现它,而且我缺乏Javascript知识!有人知道实现这一目标的简单而最好的方法吗 我想做的是,我正在建立一个网站,学生可以登录到我国的电子政务网站,并证明他们是否是继续学习的学生,只需点击一下,这样他们就可以从我们的服务中获得折扣 编辑:这个难题应该在本地解决。除非我误解了你,否则这是不可能的 您不能指示用户的浏览器拍摄屏幕截图(这将是一种安全风险…而且几乎没有使用案例) 您无法加载您想要的页面屏幕截图(带有服务
编辑:这个难题应该在本地解决。除非我误解了你,否则这是不可能的
- 您不能指示用户的浏览器拍摄屏幕截图(这将是一种安全风险…而且几乎没有使用案例)
- 您无法加载您想要的页面屏幕截图(带有服务器端代码),因为您没有访问该页面所需的凭据
这段代码对我很有用。我希望其他人也一样
private void saveURLToImage(string url)
{
if (!string.IsNullOrEmpty(url))
{
string content = "";
System.Net.WebRequest webRequest = WebRequest.Create(url);
System.Net.WebResponse webResponse = webRequest.GetResponse();
System.IO.StreamReader sr = new StreamReader(webResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("UTF-8"));
content = sr.ReadToEnd();
//save to file
byte[] b = Convert.FromBase64String(content);
System.IO.MemoryStream ms = new System.IO.MemoryStream(b);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
img.Save(@"c:\pic.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
img.Dispose();
ms.Close();
}
}
就我个人而言,我不认为IFRAME的屏幕截图可以证明很多东西,而且作为证明学生合法性的概念,它会非常不安全。我主张想出一个不同的解决办法。@Aristos-不,不是。它们尝试将HTML呈现为PNG。上面说它不准确。同样,同源策略也会阻止它从iframe读取数据。+1嗯,你是对的,这里的问题可能是不可能的。可以使用JAVA小程序拍摄屏幕截图。这不起作用。如果在第二个链接上单击“测试控制台”按钮,您将看到它拍摄给定链接的快照,它确实需要给定url的凭据才能登录。引用该页面:“即使使用代理,加载外部页面也存在很多问题,因此许多页面根本无法呈现。“此外,由于它需要使用代理,它将无法获取OP想要截图的页面……因为这需要用户的凭据。它甚至回答了他的问题吗?”?代码没有截图。此外,它似乎是为了下载图像并在本地保存它们而设计的,尽管有框架方法可以实现这一点。如果您给它一个页面URL,它将不会呈现它,因此没有要保存的图像。