zoukankan      html  css  js  c++  java
  • 下载服务器端的图片和下载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
    
    
    
     
          
    
  • 相关阅读:
    POJ3094 UVALive3594 HDU2734 ZOJ2812 Quicksum【进制】
    UVALive5583 UVA562 Dividing coins
    POJ1979 HDU1312 Red and Black【DFS】
    POJ1979 HDU1312 Red and Black【DFS】
    POJ2386 Lake Counting【DFS】
    POJ2386 Lake Counting【DFS】
    HDU4394 Digital Square
    HDU4394 Digital Square
    UVA213 UVALive5152 Message Decoding
    UVA213 UVALive5152 Message Decoding
  • 原文地址:https://www.cnblogs.com/zjn0zjn/p/3488918.html
Copyright © 2011-2022 走看看