#region 下载 /// <summary> /// 下载资源 /// </summary> public void Download() { SaveFileDialog open = new SaveFileDialog(); open.Filter = "*.xls;*.xlsx;*.xl;*.xlsn|*.xls;*.xl;*.xlsn;*.xlsx"; //保存图像类型 string path = "http://192.168.3.63:9999/UpLoad/Default/案例.xlsx"; Uri uri = new Uri(path); open.FileName = uri.Segments[uri.Segments.Length - 1]; DialogResult result = open.ShowDialog(); if (!string.IsNullOrWhiteSpace(open.FileName) && result == DialogResult.OK) { if (DownloadImage("http://192.168.3.63:9999/UpLoad/Default/案例.xlsx", open.FileName)) { MessageBox.Show("下载成功!"); } } } /// <summary> /// 下载服务器文件至客户端 /// </summary> /// <param name="urlString">被下载的文件地址,绝对路径</param> /// <param name="saveDir">另存放的目录</param> /// <returns>b</returns> public bool DownloadImage(string urlString, string saveDir) { WebClient client = new WebClient(); FileStream fsStr = null; HttpWebResponse res = null; try { int n = urlString.LastIndexOf("/"); string fileName = urlString.Substring(n + 1, urlString.Length - n - 1); //直接下载到桌面 //client.DownloadFile(urlString, fileName); //下载到指定目录 Stream stream = client.OpenRead(urlString); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlString); res = (HttpWebResponse)req.GetResponse(); long len = res.ContentLength; BinaryReader r = new BinaryReader(stream); byte[] byteS = r.ReadBytes((int)len); fsStr = new FileStream(saveDir, FileMode.OpenOrCreate, FileAccess.Write); fsStr.Write(byteS, 0, (int)len); fsStr.Close(); res.Close(); stream.Close(); return true; } catch (Exception err) { return false; } finally { if (fsStr != null) { fsStr.Close(); fsStr.Dispose(); } if (res != null) { res.Close(); } } } #endregion
#region 下载 /// <summary> /// 下载图片 /// </summary> /// <param name="path">下载路径</param> /// <param name="save">保存路径</param> //private void DownloadImage(string path, string save) //{ // Stream stream = null; // if (path != null) // { // Uri uri = new Uri(path); // try // { // if ("http".Equals(uri.Scheme, StringComparison.CurrentCultureIgnoreCase)) // { // //如果是HTTP下载文件 // WebClient wc = new WebClient(); // stream = new MemoryStream(wc.DownloadData(uri)); // } // else if ("file".Equals(uri.Scheme, StringComparison.CurrentCultureIgnoreCase)) // { // stream = new FileStream(@path, FileMode.Open, FileAccess.Read); // } // //Image image = new Bitmap(stream); // //mage.Save(save); // MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); // } // catch (Exception e) // { // System.Windows.MessageBox.Show(e.Message); // } // } //} #endregion