标签:5.0 string buffer stmMemory fileName api var new Net
1 /// <summary> 2 /// 从Http下载文件 3 /// </summary> 4 /// <param name="url">文件链接</param> 5 /// <param name="fileName">保存文件路径名</param> 6 /// <returns></returns> 7 public static string HttpDownFile(string url,string fileName) 8 { 9 // url = "https://paper.ysbang.cn/data/img/report/user/2018/07/16/5b4c078549c55_6531.jpg"; 10 var request = (HttpWebRequest)WebRequest.Create(url); 11 12 request.Method = "GET"; 13 using (var webRes = request.GetResponse()) 14 { 15 var length = (int)webRes.ContentLength; 16 var response = webRes as HttpWebResponse; 17 var stream = response?.GetResponseStream(); 18 var contentDisposition = response?.Headers["Content-Disposition"]; 19 var match = Regex.Match(contentDisposition ?? string.Empty, @"(?is)filename=""([^""]+)""\s*Content-Type:([^;]+)"); 20 fileName +="_"+ match.Groups[1].Value; 21 22 23 //读取到内存 24 var stmMemory = new MemoryStream(); 25 var buffer = new byte[length]; 26 int i; 27 //将字节逐个放入到Byte中 28 while (stream != null && (i = stream.Read(buffer, 0, buffer.Length)) > 0) 29 { 30 stmMemory.Write(buffer, 0, i); 31 } 32 stmMemory.ToArray();//文件流Byte 33 var fs = new FileStream(fileName, FileMode.OpenOrCreate); 34 stmMemory.WriteTo(fs); 35 stmMemory.Close(); 36 fs.Close(); 37 return fileName; 38 } 39 }
标签:5.0,string,buffer,stmMemory,fileName,api,var,new,Net 来源: https://www.cnblogs.com/IIXS/p/14646305.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。