图片视频上传,下载方法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 图片,视频,其他资源上传 3 /// </summary> 4 /// <param name="FileName,">文件名称</param> 5 /// <param name="typestyle">上传类型</param> 6 /// <param name="j">保存文件名随机数标识</param> 7 public static string FileUpdate(HttpFileCollection files, string FileName, int typestyle,int j) 8 { 9 if (FileName == null) 10 { 11 return string.Empty; 12 } 13 string fileExt = Path.GetExtension(FileName); 14 //读取存储路劲地址 15 string UploadPath = ConfigVal("UploadPath"); 16 string path = null; 17 if (typestyle == 1)//图片上传 18 { 19 if (!(fileExt == ".jpg" || fileExt == ".jpeg" || fileExt == ".bmp" || fileExt == ".gif" || fileExt == ".png")) 20 { 21 return string.Empty; 22 } 23 path = string.Format("{0}/{1}{2}", UploadFolder(UploadType.PreImg), DateTime.Now.ToString("yyyyMMddHHmmssfff"), fileExt); 24 } 25 else if (typestyle == 2)//视频 26 { 27 if (!(fileExt == ".mp4" || fileExt == ".3gp" || fileExt == ".wmv" || fileExt == ".mpg" || fileExt == ".avi")) 28 { 29 //不是视频 30 return string.Empty; 31 } 32 path = string.Format("{0}/{1}{2}", UploadFolder(UploadType.Video), DateTime.Now.ToString("yyyyMMddHHmmssfff"), fileExt); 33 } 34 else 35 { 36 path = string.Format("{0}/{1}{2}", UploadFolder(UploadType.Resource), DateTime.Now.ToString("yyyyMMddHHmmssfff"), fileExt); 37 } 38 39 //3.获得网站的绝对路径 存储文件 40 string fileName = string.Format("{0}/{1}", UploadPath, path); 41 files[j].SaveAs(fileName); 42 return path; 43 }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 文件下载 3 /// </summary> 4 /// <param name="url">图片网络地址</param> 5 /// <param name="localfile">下载本地文件夹</param> 6 /// <param name="filename">图片名称</param> 7 /// <returns></returns> 8 public static bool Download(string url, string localfile, string filename, string format=".pdf") 9 { 10 bool flag = false; 11 if (url.Contains(",") || url.Contains(",") || filename.Contains("/")) 12 { 13 return flag; 14 } 15 try 16 { 17 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 18 | SecurityProtocolType.Tls 19 | (SecurityProtocolType)0x300 //Tls11 20 | (SecurityProtocolType)0xC00; //Tls12 21 22 HttpWebRequest request; 23 if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase)) 24 { 25 ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); 26 request = WebRequest.Create(url) as HttpWebRequest; 27 request.ProtocolVersion = HttpVersion.Version10; 28 } 29 else 30 { 31 request = WebRequest.Create(url) as HttpWebRequest; 32 } 33 34 request.Method = "GET"; 35 request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; 36 request.Headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3"); 37 request.UserAgent = "Mozilla/5.0 (Windows NT 5.2; rv:12.0) Gecko/20100101 Firefox/12.0"; 38 WebResponse response = request.GetResponse(); 39 //文件流获取图片操作 40 Stream reader = response.GetResponseStream(); 41 string path = localfile + "/" + filename + format; //图片路径命名 42 if (!System.IO.Directory.Exists(localfile)) 43 { 44 System.IO.Directory.CreateDirectory(localfile); 45 } 46 FileStream writer = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write); 47 byte[] buff = new byte[512]; 48 int c = 0; //实际读取的字节数 49 while ((c = reader.Read(buff, 0, buff.Length)) > 0) 50 { 51 writer.Write(buff, 0, c); 52 } 53 //释放资源 54 writer.Close(); 55 writer.Dispose(); 56 reader.Close(); 57 reader.Dispose(); 58 response.Close(); 59 //下载成功 60 flag = true; 61 } 62 catch (Exception ex) 63 { 64 return false; 65 throw ex; 66 } 67 return flag; 68 } 69 70 private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) 71 { 72 return true; //总是接受 73 }