using System;
using System.Collections.Generic;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;
using System.Security.Policy;

namespace InjectionPC
{
    public class Upload
    {
       public static void DownLoad(string Url, string FileName)
       {
            bool Value = false;
            WebResponse response = null;
            Stream stream = null;
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);

                response = request.GetResponse();
                stream = response.GetResponseStream();

                if (!response.ContentType.ToLower().StartsWith("text/"))
                {
                    Value = SaveBinaryFile(response, FileName);
                }
            }
            catch (Exception err)
            {
                string aa = err.ToString();
            }
         }

        /// <summary>
        /// Save a binary file to disk.
        /// </summary>
        /// <param name="response">The response used to save the file</param>
        // 将二进制文件保存到磁盘
         private static bool SaveBinaryFile(WebResponse response, string FileName)
         {
             bool Value = true;
             byte[] buffer = new byte[1024];
 
             try
             {
                if (File.Exists(FileName))
                File.Delete(FileName);
                Stream outStream = System.IO.File.Create(FileName);
                Stream inStream = response.GetResponseStream();

                int l;
                do
                {
                    l = inStream.Read(buffer, 0, buffer.Length);
                    if (l > 0)
                        outStream.Write(buffer, 0, l);
                }
                while (l > 0);

                    outStream.Close();
                    inStream.Close();
             }
             catch
             {
                 Value = false;
             }
             return Value;
        }

        public void Down(string url, string dtnow)
        {
            WebRequest wreq = WebRequest.Create(url);             
            HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();            
            Stream s = wresp.GetResponseStream();            
            System.Drawing.Image img;            
            img = System.Drawing.Image.FromStream(s);            
            img.Save("D:\\" + dtnow, ImageFormat.Jpeg);            
            MemoryStream ms = new MemoryStream();            
            img.Save(ms, ImageFormat.Jpeg);            
            img.Dispose();
        }

        public static bool DoConnComputer(string ip, string folder, string strName, string strPsw)
        {
            try
            {
                return SchTaskExtAPI.ConnectOtherComputer.DoConnectOtherComputer(ip, folder, strName, strPsw);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}