博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片...
阅读量:6676 次
发布时间:2019-06-25

本文共 5082 字,大约阅读时间需要 16 分钟。

将一台服务器的文件、图片,保存(下载)到另外一台服务器进行保存的方法:

1         #region 图片下载  2   3         #region 图片下载【使用流、WebRequest进行保存】  4         ///   5         /// 图片下载【使用流、WebRequest进行保存】  6         ///   7         /// 图片URL地址(例如:http://img.baidu.com/video/img/video_logo_new.gif)   8         /// 存储到本地(服务器)路径(例如:Upload/Image)  9         /// 文件名(包含后缀名) 10         /// 图片格式 11         public static void WebRequestDownloadFileImage(string fileUrl, string path, string fileName, System.Drawing.Imaging.ImageFormat fileFormat) 12         { 13             try 14             { 15                 path = HttpContext.Current.Server.MapPath(string.Format("~/{0}/", path)); 16                 if (!Directory.Exists(path))  //判断目录是否存在 17                 { 18                     Directory.CreateDirectory(path);//创建该文件 19                 } 20                 WebRequest wreq = WebRequest.Create(fileUrl); 21                 using (HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse()) 22                 { 23                     Stream s = wresp.GetResponseStream(); 24                     System.Drawing.Image img; 25                     img = System.Drawing.Image.FromStream(s); 26                     path = path + fileName; 27                     img.Save(path, fileFormat);   //保存  28                 } 29             } 30             catch (Exception ex) 31             { 32                 throw; 33             } 34         } 35         #endregion 36  37         #region 图片下载【使用流、WebClient进行保存】 38         ///  39         /// 图片下载【使用流、WebClient进行保存】 40         ///  41         /// 图片URL地址(例如:http://img.baidu.com/video/img/video_logo_new.gif)  42         /// 存储到本地(服务器)路径(例如:Upload/Image) 43         /// 文件名称(包含后缀名) 44         /// 图片格式 45         public static void WebClientDownloadFileImage(string fileUrl, string path, string fileName, System.Drawing.Imaging.ImageFormat fileFormat) 46         { 47             try 48             { 49                 path = HttpContext.Current.Server.MapPath(string.Format("~/{0}/", path)); 50                 if (!Directory.Exists(path))  //判断目录是否存在 51                 { 52                     Directory.CreateDirectory(path);//创建该文件 53                 } 54                 WebClient webClient = new WebClient(); 55                 byte[] imgByte; 56                 imgByte = webClient.DownloadData(fileUrl); 57                 using (MemoryStream ms = new MemoryStream(imgByte)) 58                 { 59                     System.Drawing.Image img; 60                     img = System.Drawing.Image.FromStream(ms); 61                     path = path + fileName; 62                     img.Save(path, fileFormat);   //保存  63                 } 64             } 65             catch (Exception ex) 66             { 67                 throw; 68             } 69  70         } 71         #endregion 72         #endregion 73  74         #region 文件下载(从第三方服务器下载到本服务器) 75  76         #region 下载(第三方)远程文件保存到本地(自己服务器)的方法、保存抓取远程图片【异步下载】 77         ///  78         /// 下载(第三方)远程图片保存到本地(自己服务器)的方法、保存抓取远程图片 【异步下载】 79         ///  80         /// 文件URL地址(例如:http://img.baidu.com/video/img/video_logo_new.gif)  81         /// 存储到本地(服务器)路径(例如:Upload/Image) 82         /// 文件名称(包括后缀名)(例如:login.jpg) 83         public static void DownloadFileAsync(string fileUrl, string path, string fileName) 84         { 85             try 86             { 87                 System.Net.WebClient client = new System.Net.WebClient(); 88                 path = HttpContext.Current.Server.MapPath(string.Format("~/{0}/", path)); 89                 if (!Directory.Exists(path))  //判断目录是否存在 90                 { 91                     Directory.CreateDirectory(path);//创建该文件 92                 } 93                 path = path + fileName; 94                 client.DownloadFileAsync(new Uri(fileUrl, UriKind.RelativeOrAbsolute), path); 95             } 96             catch (Exception ex) 97             { 98  99             }100         }101         #endregion102 103         #region 下载(第三方)远程文件保存到本地(自己服务器)的方法、保存抓取远程图片【同步下载】104         /// 105         /// 下载(第三方)远程图片保存到本地(自己服务器)的方法、保存抓取远程图片 【同步下载】106         /// 107         /// 文件URL地址(例如:http://img.baidu.com/video/img/video_logo_new.gif) 108         /// 存储到本地(服务器)路径(例如:Upload/Image)109         /// 文件名称(包括后缀名)(例如:login.jpg)110         public static void DownloadFile(string fileUrl, string path, string fileName)111         {112             try113             {114                 System.Net.WebClient client = new System.Net.WebClient();115                 path = HttpContext.Current.Server.MapPath(string.Format("~/{0}/", path));116                 if (!Directory.Exists(path))  //判断目录是否存在117                 {118                     Directory.CreateDirectory(path);//创建该文件119                 }120                 path = path + fileName;121                 client.DownloadFile(new Uri(fileUrl, UriKind.RelativeOrAbsolute), path);122             }123             catch (Exception ex)124             {125 126             }127         }128         #endregion129 130         #endregion

 

转载于:https://www.cnblogs.com/linJie1930906722/p/5524664.html

你可能感兴趣的文章
一步一步学ROP之linux_x64篇
查看>>
Kali linux 2016.2(Rolling)里的应用更新和配置额外安全工具
查看>>
js 实现图片实时预览
查看>>
Java 8 Optional类深度解析
查看>>
联想还是那个联想吗?
查看>>
com.panie 项目开发随笔_前后端框架考虑(2016.12.8)
查看>>
BZOJ 3529: [Sdoi2014]数表 [莫比乌斯反演 树状数组]
查看>>
ubuntu12.04中shell脚本无法使用source的原因及解决方法
查看>>
备忘录模式
查看>>
git 如何更改某个提交内容/如何把当前改动追加到某次commit上? git rebase
查看>>
eclipse里将java工程改web工程
查看>>
amazon redshift 分析型数据库特点——本质还是列存储
查看>>
C#编程(二十四)----------修饰符
查看>>
[内核]procfs和sysfs
查看>>
R语言中的数据处理包dplyr、tidyr笔记
查看>>
CSS3去除手机浏览器button点击出现的高亮框
查看>>
HBase复制
查看>>
创建cocos2d-x+lua项目
查看>>
基于cancel的不全然恢复
查看>>
CentOS Linux release 7.3源码安装zabbix
查看>>