下载服务器端的图片和下载excel

#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

 

 

 

      
posted @ 2013-12-24 13:51  zjn漾子  阅读(286)  评论(0编辑  收藏  举报