Получить скриншот со страницы ASP.Net - PullRequest
5 голосов
/ 10 марта 2009

У меня есть страница ASP.Net, на которой есть кнопка, при нажатии которой я хочу сделать снимок экрана компьютера пользователя и отправить его на сервер.

Я в порядке, когда пишу какую-то программу для прослушивания, которая запускается на сервере и принимает запросы на получение этих изображений. Где я немного туманный, это лучший способ заставить компьютер пользователя отправить скриншот. Нужно ли это сделать, написав какой-то элемент управления Active X для страницы ASP.Net? Это должно быть кросс-браузер и операционная система, если это возможно.

Просто точка в правильном направлении, и какие технологии мне следует использовать, было бы здорово. Я предпочел бы написать эту функцию сам, если это возможно, чем использовать готовое решение, поскольку я вижу, что эта функциональность может быть расширена в будущем. Как что-то вроде WebEx или Copilot управляет этим?

Спасибо

Gavin

Редактировать: просто чтобы прояснить, что я не пытаюсь украсть информацию с ПК пользователя, им нужно было бы разрешить эту функцию, это больше с точки зрения поддержки, поэтому, когда у клиентов возникают проблемы, они могут отправить скриншот страницы, на которой они находятся.

Ответы [ 4 ]

4 голосов
/ 10 марта 2009

Если это должен быть кросс-браузер и все, вы должны взглянуть на Java (апплеты). Это может звучать по-старому, но я думаю, что это ваш лучший вариант. ActiveX работает только на Windows / IE;)

Для начала, взгляните на этот вопрос, который очень похож: Есть ли способ сделать снимок экрана с помощью Java и сохранить его в виде изображения?

3 голосов
/ 10 марта 2009

ActiveX будет работать. Я подозреваю, что вы можете сделать что-то и в Silverlight, Flash или Java-апплете (что будет более кросс-браузерным).

Что касается второго пилота, он запускается в отдельном исполняемом файле, который каждый пользователь загружает и запускает. Так что это не ограничивается типичными ограничениями браузера.

1 голос
/ 21 июля 2010

Я использую компонент WebsitesScreenshot для захвата скриншота сайта или уменьшенного изображения. Этот компонент .NET очень прост в использовании. Я люблю этот компонент. http://www.websitesscreenshot.com/

Пример кода:

WebsitesScreenshot.WebsitesScreenshot _Obj;
_Obj = new WebsitesScreenshot.WebsitesScreenshot();

WebsitesScreenshot.WebsitesScreenshot.Result _Result;
_Result = _Obj.CaptureWebpage("http://www.msn.com");

if (_Result == WebsitesScreenshot.WebsitesScreenshot.Result.Captured)
{
    _Obj.ImageWidth = 200;
    _Obj.ImageHeight = 300;
    _Obj.ImageFormat = WebsitesScreenshot.WebsitesScreenshot.ImageFormats.PNG;
    _Obj.SaveImage("c:\\msn.png");
}
_Obj.Dispose();
1 голос
/ 10 марта 2009

Это просто веб-страница, с которой вы хотите сделать снимок?

Затем вы можете получить доступ ко всем отображаемым HTML-страницам из объекта документа javascript и отправить его в веб-службу вместе с типом браузера и т. Д. Установка ActiveX не требуется: -)

...