在webBrowser中触发html页面中的javaScript.
实例的功能是把一个图片加到html的img tag中。
You can encode the image in base64. For example
<img src="data:image/gif;base64,MyImageDataEncodedInBase64
=" alt="My Image data in base 64" />
Here is a full example of how you can accomplish this:
using System; using System.IO; using System.Runtime.InteropServices; using System.Windows.Forms; namespace ImageEncodedInBase64InAWebBrowser { [ComVisible(true)] public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string url = Directory.GetCurrentDirectory() + "\\page.html"; webBrowser1.Url = new Uri(url); webBrowser1.ObjectForScripting = this; } private void button1_Click(object sender, EventArgs e) { string imageInBase64 = ReadImageInBase64(); webBrowser1.Document.InvokeScript("setImageData", new[] { imageInBase64 }); } private string ReadImageInBase64() { string imagePath = Directory.GetCurrentDirectory() + "\\opensource.png"; using (var fs = new FileStream(imagePath, FileMode.Open, FileAccess.Read)) { var buffer = new byte[fs.Length]; fs.Read(buffer, 0, (int)fs.Length); return Convert.ToBase64String(buffer); } } } }
And this Javascript code:
function setImageData(imageBase64) { var myImg = document.getElementById("myImg"); myImg.src = "data:image/png;base64," + imageBase64; }