CEF3打开本地html静态页面的时候,图片加载不出来

qq_24935967 2015-12-28 07:20:55
CEF3打开本地html静态页面的时候,图片加载不出来,不管使用相对路径还是绝对路径都加载不出来,单独用浏览器打开本地的html是时候图片可以加载进来的,完全没有问题,放到CEF中就不行了。谁遇到过这种情况吗
...全文
2013 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nutamed 2016-07-05
  • 打赏
  • 举报
回复 1
方法二,在继承实现IChromiumWebBrowser接口的窗体中处理OnBeforeResourceLoad事件。 把需要显示的图片加上前缀,这样可以根据前缀判断是否需要去读取本地的图片,如: const string CAPTUREIMGE_FILE_PREFIX = "http://abc.im.imges/"; this.RequestHandler.OnBeforeResourceLoad += (s, e) => { if (e.Request.Url.StartsWith(CAPTUREIMGE_FILE_PREFIX)) { if (!WebResource.ContainsKey(e.Request.Url)) { var file = e.Request.Url.Substring(CAPTUREIMGE_FILE_PREFIX.Length); var img = getImg(file); if (img != null) { var res = new EnterpriseViewUI.Library.ChromiumCore.WebResource(img); SetWebResource(e.Request.Url, res); } if(null!=img)img.Dispose(); } } e.Callback.Continue(true); }; html内容如下: <img id="capturescreen-img" src="http://abc.im.imges/imge1.jpg" style="max-width:300px;max-height:250px;">
Nutamed 2016-07-04
  • 打赏
  • 举报
回复 1
CEF使用的是google浏览器的核心,由于安全的原因,浏览器客户端是禁止访问本地磁盘文件的。不过,用加载本地html页面的形式,就可以显示本地的图片,如: public void test() { this.LoadUrl("file:///D:/CEFTest/Test.UI/bin/Debug/index.html"); } index.html页面中通过以下方式就可以访问本地图片了。 <img src="file:///C:/123.gif" /> <img src="http://ww2.sinaimg.cn/large/85cccab3tw1esjpvjyekmg20dw07rh9b.jpg" />
LoserOrLeader 2016-04-15
  • 打赏
  • 举报
回复
可能是图片资源加载速度慢,加载的时候等待一下就好了
qq_24935967 2016-04-15
  • 打赏
  • 举报
回复
引用 楼主 qq_24935967 的回复:
CEF3打开本地html静态页面的时候,图片加载不出来,不管使用相对路径还是绝对路径都加载不出来,单独用浏览器打开本地的html是时候图片可以加载进来的,完全没有问题,放到CEF中就不行了。谁遇到过这种情况吗
这个就不知道了,没打算去获取它
qq_17107323 2015-12-28
  • 打赏
  • 举报
回复
哥们好巧啊. 问你下,你加载玩网页之后知道怎么获取里面的html吗

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧