10
是否可以將網頁瀏覽器控件中的圖像直接保存到硬盤中,而無需從互聯網上再次下載它們?將圖像保存在網頁瀏覽器控件中,無需從互聯網上重新下載圖像
比方說,我導航到有15個圖像的網站。他們都在我的瀏覽器中查看,但我現在如何保存它們而無需下載它們?
是否可以將網頁瀏覽器控件中的圖像直接保存到硬盤中,而無需從互聯網上再次下載它們?將圖像保存在網頁瀏覽器控件中,無需從互聯網上重新下載圖像
比方說,我導航到有15個圖像的網站。他們都在我的瀏覽器中查看,但我現在如何保存它們而無需下載它們?
這是我能找到的唯一途徑。好奇的是,如果其他人有更好的方法。
複製你必須添加引用Microsoft.mshtml,當然等待的用於完成加載文檔。這將保存加載在System.Windows.Forms.WebBrowser webBrowser1
組件中的圖像 - 即使是你不想要的圖像。
IHTMLDocument2 doc = (IHTMLDocument2) webBrowser1.Document.DomDocument;
IHTMLControlRange imgRange = (IHTMLControlRange) ((HTMLBody) doc.body).createControlRange();
foreach (IHTMLImgElement img in doc.images)
{
imgRange.add((IHTMLControlElement) img);
imgRange.execCommand("Copy", false, null);
using (Bitmap bmp = (Bitmap) Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
{
bmp.Save(@"C:\"+img.nameProp);
}
}
喜...感謝回答, 我只是希望有人會想出另一種解決方案,因爲我真的無法用這樣的剪貼板... – lebhero 2010-04-02 19:22:26
好,如果剪貼板是關閉的限制,那麼其他比通過緩存,唯一的另一種方式可能是再次下載圖像。但讓我們看看別人想出什麼 – Asher 2010-04-03 00:33:10
非常有用。可能希望添加保存和恢復舊剪貼板數據的功能。 var clipboardData = Clipboard.GetDataObject();'foreach'前面的''Clipboard.SetDataObject(clipboardData);''foreach'後''。 – iCantSeeSharp 2013-01-22 10:16:16