C# WebBrowser控件 下载文件不弹下载提示框的办法
标签:htm adf 提示框 intern caller moni fun down set
参考链接 https://stackoverflow.com/questions/6773866/download-file-and-automatically-save-it-to-folder
public class MyWebBrowser : WebBrowser
{
///
/// The URLMON library contains this function, URLDownloadToFile, which is a way
/// to download files without user prompts. The ExecWB( _SAVEAS ) function always
/// prompts the user, even if _DONTPROMPTUSER parameter is specified, for "internet
/// security reasons". This function gets around those reasons.
///
/// Pointer to caller object (AX).
/// String of the URL.
/// String of the destination filename/path.
/// [reserved].
/// A callback function to monitor progress or abort.
/// 0 for okay.
/// source: http://www.pinvoke.net/default.aspx/urlmon/URLDownloadToFile%20.html
[DllImport("urlmon.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern Int32 URLDownloadToFile(
[MarshalAs(UnmanagedType.IUnknown)] object callerPointer,
[MarshalAs(UnmanagedType.LPWStr)] string url,
[MarshalAs(UnmanagedType.LPWStr)] string filePathWithName,
Int32 reserved,
IntPtr callBack);
///
/// Download a file from the webpage and save it to the destination without promting the user
///
/// the url with the file
/// the absolut full path with the filename as destination
///
public FileInfo DownloadFile(string url, string destinationFullPathWithName)
{
URLDownloadToFile(null, url, destinationFullPathWithName, 0, IntPtr.Zero);
return new FileInfo(destinationFullPathWithName);
}
}
然后使用这个MyWebBrowser控件代替.net自带的WebBrowser。
下载文件时使用
webBrowser1.DownloadFile(downloadUrl,"test.csv");
C# WebBrowser控件 下载文件不弹下载提示框的办法
标签:htm adf 提示框 intern caller moni fun down set
原文地址:https://www.cnblogs.com/xiaozhu39505/p/8298052.html
评论