我要從發票綜合服務平臺下載一個內容。
想用C#的webbrowser來實作
但是不想彈出對話框,默認保存到一個位置。
uj5u.com熱心網友回復:

下載的時候,好像是先到服務器請求,然后進行保存。 我想不顯示系統默認的下載對話框,而讓他默認保存到某個目錄里面
uj5u.com熱心網友回復:
up這個下載好像是呼叫一個js然后到服務器獲取地址
uj5u.com熱心網友回復:
webrequestuj5u.com熱心網友回復:
沒必要用webbrowser? 我做的設定下載和你說的一樣,靜默下載到指定位置,但是完全靜默似乎被一些“安全軟體”攔截,加了一個loading,你看下是否用得上,代碼是csdn搬來的忘記是哪個大神寫的了
/// <summary>
/// c#,.net 下載檔案
/// </summary>
/// <param name="URL">下載檔案地址</param>
///
/// <param name="Filename">下載后的存放地址</param>
/// <param name="Prog">用于顯示的進度條</param>
///
public void DownloadFile(string URL, string filename, ProgressBar prog)
{
float percent = 0;
try
{
HttpWebRequest Myrq = (HttpWebRequest)WebRequest.Create(URL);
HttpWebResponse myrp = (HttpWebResponse)Myrq.GetResponse();
long totalBytes = myrp.ContentLength;
if (prog != null)
{
prog.Maximum = (int)totalBytes;
}
Stream st = myrp.GetResponseStream();
Stream so = new FileStream(filename, FileMode.Create);
long totalDownloadedByte = 0;
byte[] by = new byte[1024];
int osize = st.Read(by, 0, (int)by.Length);
while (osize > 0)
{
totalDownloadedByte = osize + totalDownloadedByte;
Application.DoEvents();
so.Write(by, 0, osize);
if (prog != null)
{
prog.Value = (int)totalDownloadedByte;
}
osize = st.Read(by, 0, (int)by.Length);
percent = (float)totalDownloadedByte / (float)totalBytes * 100;
Persent.Text = "下載升級包" + percent.ToString() + "%,請勿關閉軟體";
Application.DoEvents();
}
so.Close();
st.Close();
Persent.Visible = false;
progressBar1.Visible = false;
}
catch (Exception)
{
throw;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/80457.html
標籤:C#
上一篇:串口接收資料包完整問題
下一篇:懸賞400分,緊急求助!!!
