zoukankan      html  css  js  c++  java
  • CSharp: Download Imge

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.IO;
    using System.Net;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using System.Data;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    using RestSharp;
    using RestSharp.Extensions;
    using RestSharp.Authenticators;
    using RestSharp.Deserializers;
    using RestSharp.Validation;
    using Geovin.Du.Commn;
    
    /// <summary>
    /// 涂聚文 Geovin Du geovindu
    /// 
    /// </summary>
    public partial class DownloadImge : System.Web.UI.Page
    {
    
    
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
            string weburl = this.txtURL.Text.Trim();
            int stat = int.Parse(this.txtStart.Text.Trim());
            int end = int.Parse(this.txtEnd.Text.Trim())+1;
            int k = 0;
            int er = 0;
            for (int i = stat; i< end; i++)
            {
                string fileurl = HttpContext.Current.Server.MapPath(@"ImgFile//" + i.ToString() +this.txtExift.Text.Trim());
    
                DownloadData(weburl+i.ToString()+this.txtExift.Text.Trim(), fileurl);
                k++;
            }
    
            Response.Write("Ok" + k.ToString() + ",erro" + er.ToString());
    
        }
        /// <summary>
        /// 文件下载
        /// </summary>
        /// <param name="website"></param>
        /// <param name="file"></param>
        private async void RunBackground(string website, string file)
        {
            int k = 1;
            int er = 1;
            var succeed = await DownLoadGlobalHistoryNew(website, file);
            if (succeed)
            {
                k++;
            }
            else
            {
                er++;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="errfile"></param>
        /// <returns></returns>
        string geterro(List<string> errfile)
        {
            string str = string.Empty;
            if (errfile.Count > 0)
            {
                int k = 0;
                foreach (string s in errfile)
                {
                    if (k == 0)
                    {
                        str = s;
                    }
                    else
                    {
                        str = str + "," + s;
                    }
                    k++;
                }
    
            }
    
            return str;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="url"></param>
        /// <param name="file"></param>
        /// <returns></returns>
        public Task<bool> DownLoadGlobalHistoryNew(string url, string file)
        {
            string dataString = string.Empty;
    
            return Task.Run(() =>
            {
                var succeed = false;
                try
                {
                    var dataStringNew = new WebClient { Encoding = Encoding.UTF8 }.DownloadString(url);
                    if (dataString != dataStringNew)
                    {
                        dataString = dataStringNew;
                        Write(file, dataString);
                        succeed = true;
                    }
                }
                catch (Exception)
                {
    
                }
                return succeed;
            });
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="file"></param>
        /// <param name="dataString"></param>
        private void Write(string file, string dataString)
        {
            try
            {
                if (File.Exists(file) && !string.IsNullOrWhiteSpace(dataString))
                    File.Delete(file);
                File.WriteAllText(file, dataString);
            }
            catch (Exception)
            {
            }
        }
        /// <summary>
        /// 图片下载
        /// </summary>
        /// <param name="strFileUrlToDownload"></param>
        /// <param name="strfile"></param>
        protected void DownloadData(string strFileUrlToDownload, string strfile)
        {
            WebClient client = new WebClient();
            byte[] myDataBuffer = client.DownloadData(strFileUrlToDownload);
    
            MemoryStream storeStream = new MemoryStream();
    
            storeStream.SetLength(myDataBuffer.Length);
            storeStream.Write(myDataBuffer, 0, (int)storeStream.Length);
    
            storeStream.Flush();
    
            string currentpath = strfile;// System.IO.Directory.GetCurrentDirectory() + @"\Folder";
    
            using (FileStream file = new FileStream(currentpath, FileMode.Create, System.IO.FileAccess.ReadWrite))
            {
                byte[] bytes = new byte[storeStream.Length];
                storeStream.Read(bytes, 0, (int)storeStream.Length);
                file.Write(myDataBuffer, 0, (int)storeStream.Length);
                storeStream.Close();
            }
    
            //The below Getstring method to get data in raw format and manipulate it as per requirement
            string download = Encoding.ASCII.GetString(myDataBuffer);
    
    
        }
    
    }
    

      

  • 相关阅读:
    命令行解释器(shell)
    TensorFlow经典案例2:实现最近邻算法
    TensorFlow经典案例1:基本操作
    TensorBoard在谷歌浏览器显示找不到网页
    Pandas中的DataFrame.filter()
    【转】保证训练集和测试集取到和数据集中相同比例的类别
    数据分析小实践:统计每个国家存在心理健康问题的平均年龄
    TabActivity 切换Activity界面
    Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
    非常简单的XML解析(SAX解析、pull解析)
  • 原文地址:https://www.cnblogs.com/geovindu/p/15599719.html
Copyright © 2011-2022 走看看