cefsharp 网页另存为图片_使用CEfSharp之旅(12)下载网页所有图片,下载图片

你是否在打开网站的时候想下载看到所有图片那?

今天那咱们就用cefsharp 来是实现它:

直接上关键代码:

public void OnResourceLoadComplete(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)

{

var url = new Uri(request.Url);

var extension = url.ToString().ToLower();

if (request.ResourceType == ResourceType.Image || extension.EndsWith(".jpg") || extension.EndsWith(".png") || extension.EndsWith(".gif") || extension.EndsWith(".jpeg"))

{

string fileName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-fff-") + ".png";

string tmpRootDir = System.AppDomain.CurrentDomain.BaseDirectory + _directory;

if (!System.IO.Directory.Exists(tmpRootDir))

{

System.IO.Directory.CreateDirectory(tmpRootDir);

}

fileName = tmpRootDir + fileName;

Fileutils.DownImageFile(request.Url, fileName);

return;

}

}

public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)

{

var m = request.Method;

msg?.Invoke(request.Url);

msg?.Invoke(m);

if (request.Method == "POST")

{

using (var postData = request.PostData)

{

if (postData != null)

{

var elements = postData.Elements;

var charSet = request.GetCharSet();

foreach (var element in elements)

{

if (element.Type == PostDataElementType.Bytes)

{

var body = element.GetBody(charSet);

msg?.Invoke(body);

}

}

}

}

}

Uri url;

if (Uri.TryCreate(request.Url, UriKind.Absolute, out url) == false)

{

//If we're unable to parse the Uri then cancel the request

// avoid throwing any exceptions here as we're being called by unmanaged code

return CefReturnValue.Cancel;

}

var extension = url.ToString().ToLower();

if (request.ResourceType == ResourceType.Image || extension.EndsWith(".jpg") || extension.EndsWith(".png") || extension.EndsWith(".gif") || extension.EndsWith(".jpeg"))

{

Console.WriteLine(request.Url);

}

return CefReturnValue.Continue;

}

如图所示所有的图片都出来了。嘎嘎 一个图标都不放过

619210e1b18faac59d9f3237956ce15d.png

8a4cc888748942c3976229c83b03fe29.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值