using System.IO; using System.Net; namespace TestUpfile { public class NetHelper { public static Stream GetImgStream(string url,string protocol="http") { 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/")) return null; ////如果要转成byte //using (MemoryStream mstream = new MemoryStream()) //{ // int count = 0; // byte[] buffer = new byte[1024]; // int readnum = 0; // while ((readnum = stream.Read(buffer, 0, 1024)) > 0) // { // count = count + readnum; // mstream.Write(buffer, 0, 1024); // } // mstream.Position = 0; // using (BinaryReader br = new BinaryReader(mstream)) // { // byte[] bytes = br.ReadBytes(count); // } //} return stream; } catch { } return stream; } /// <summary> /// 通过webClient获取图片的字节 /// </summary> /// <param name="url">要下载的url</param> /// <param name="protocol"></param> /// <returns></returns> public static byte[] GetImgBytes(string url) { byte[] bytes = null; try { if (url.Substring(0,5).ToLower() == "https") { // 解决WebClient不能通过https下载内容问题 System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate (object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; // **** Always accept }; } WebClient client = new WebClient(); bytes=client.DownloadData(url); return bytes; } catch { return null; } } } }