下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法
下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片
将一台服务器的文件、图片,保存(下载)到另外一台服务器进行保存的方法:

1 #region 图片下载
2
3 #region 图片下载【使用流、WebRequest进行保存】
4 /// <summary>
5 /// 图片下载【使用流、WebRequest进行保存】
6 /// </summary>
7 /// <param name="fileUrl">图片URL地址(例如:http://img.baidu.com/video/img/video_logo_new.gif) </param>
8 /// <param name="path">存储到本地(服务器)路径(例如:Upload/Image)</param>
9 /// <param name="fileName">文件名(包含后缀名)</param>
10 /// <param name="fileFormat">图片格式</param>
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 /// <summary>
39 /// 图片下载【使用流、WebClient进行保存】
40 /// </summary>
41 /// <param name="fileUrl">图片URL地址(例如:http://img.baidu.com/video/img/video_logo_new.gif) </param>
42 /// <param name="path">存储到本地(服务器)路径(例如:Upload/Image)</param>
43 /// <param name="fileName">文件名称(包含后缀名)</param>
44 /// <param name="fileFormat">图片格式</param>
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 /// <summary>
78 /// 下载(第三方)远程图片保存到本地(自己服务器)的方法、保存抓取远程图片 【异步下载】
79 /// </summary>
80 /// <param name="fileUrl">文件URL地址(例如:http://img.baidu.com/video/img/video_logo_new.gif) </param>
81 /// <param name="path">存储到本地(服务器)路径(例如:Upload/Image)</param>
82 /// <param name="fileName">文件名称(包括后缀名)(例如:login.jpg)</param>
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 #endregion
102
103 #region 下载(第三方)远程文件保存到本地(自己服务器)的方法、保存抓取远程图片【同步下载】
104 /// <summary>
105 /// 下载(第三方)远程图片保存到本地(自己服务器)的方法、保存抓取远程图片 【同步下载】
106 /// </summary>
107 /// <param name="fileUrl">文件URL地址(例如:http://img.baidu.com/video/img/video_logo_new.gif) </param>
108 /// <param name="path">存储到本地(服务器)路径(例如:Upload/Image)</param>
109 /// <param name="fileName">文件名称(包括后缀名)(例如:login.jpg)</param>
110 public static void DownloadFile(string fileUrl, string path, string fileName)
111 {
112 try
113 {
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 #endregion
129
130 #endregion

将图片的二进制字节字符串在HTML页面以图片形式输出
具体实现代码如下:
1、新建一个一般处理程序: Image.ashx

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Web;
5 using System.Net;
6 using System.Drawing.Imaging;
7 using System.IO;
8
9 namespace Test
10 {
11 /// <summary>
12 ///测试图片以二进制字节输出到HTML页面(显示成图片)
13 /// </summary>
14 public class Image : IHttpHandler
15 {
16
17 public void ProcessRequest(HttpContext context)
18 {
19 //方法一:
20 //WebRequest wreq = WebRequest.Create("http://img.baidu.com/video/img/video_logo_new.gif");
21 //HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
22 //Stream s = wresp.GetResponseStream();
23 //System.Drawing.Image img;
24 //img = System.Drawing.Image.FromStream(s);
25 ////下面直接输出
26 //MemoryStream ms = new MemoryStream();
27 //img.Dispose();
28
29 //关键代码
30 //context.Response.ClearContent();
31 //context.Response.ContentType = "image/gif";
32 //context.Response.BinaryWrite(ms.ToArray());
33
34 //方法二:
35 WebClient my = new WebClient();
36 byte[] mybyte;
37 mybyte = my.DownloadData("http://img.baidu.com/video/img/video_logo_new.gif");
38 MemoryStream ms = new MemoryStream(mybyte);
39 System.Drawing.Image img;
40 img = System.Drawing.Image.FromStream(ms);
41 //关键代码
42 context.Response.ClearContent();
43 context.Response.ContentType = "image/gif";
44 context.Response.BinaryWrite(mybyte);
45 }
46
47 public bool IsReusable
48 {
49 get
50 {
51 return false;
52 }
53 }
54 }
55 }

2、新建一个HTML页面:ImageTest.htm

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title></title> 5 </head> 6 <body> 7 使用:Response.BinaryWrite 二进制字符串方式输出图片:<br /> 8 主要:图片 img标签路径(src)要指向那个(Image.ashx)一般处理程序<br /> 9 <img src="Image.ashx"/> 10 </body> 11 </html>

asp.net 文件 操作方法

1 /// <summary>
2 /// 移动文件
3 /// </summary>
4 /// <param name="oldPath">源文件路径</param>
5 /// <param name="newPath">目标文件路径</param>
6 /// <param name="fileName">文件名称</param>
7 public static void MoveFile(string oldPath, string newPath, string fileName)
8 {
9 if (!Directory.Exists(newPath))
10 {
11 //不存在则自动创建文件夹
12 Directory.CreateDirectory(newPath);
13 }
14 File.Move(oldPath + fileName, newPath + fileName);
15 }
16
17 /// <summary>
18 /// 批量移动文件
19 /// </summary>
20 /// <param name="oldPath">源文件路径</param>
21 /// <param name="newPath">目标文件路径</param>
22 /// <param name="fileNameList">文件名称</param>
23 public static void MoveFile(string oldPath, string newPath, ArrayList fileNameList)
24 {
25 if (!Directory.Exists(newPath))
26 {
27 //不存在则自动创建文件夹
28 Directory.CreateDirectory(newPath);
29 }
30 for (int i = 0; i < fileNameList.Count; i++)
31 {
32 File.Move(oldPath + fileNameList[i], newPath + fileNameList[i]);
33 }
34 }
35
36 /// <summary>
37 /// 删除文件
38 /// </summary>
39 /// <param name="path">文件路径</param>
40 /// <returns>删除结果,成功或失败</returns>
41 public static bool DeleteFile(string path)
42 {
43 try
44 {
45 File.Delete(path);
46 return true;
47 }
48 catch
49 {
50 return false;
51 }
52 }
53
54 /// <summary>
55 /// 删除文件夹
56 /// </summary>
57 /// <param name="path">文件夹路径</param>
58 /// <returns>删除结果,成功或失败</returns>
59 public static bool DeleteFolder(string path)
60 {
61 try
62 {
63 Directory.Delete(path);
64 return true;
65 }
66 catch
67 {
68 return false;
69 }
70 }
71
72 /// <summary>
73 /// 移动文件夹
74 /// </summary>
75 /// <param name="oldPath">源文件夹路径</param>
76 /// <param name="newPath">目标文件夹路径</param>
77 /// <returns>移动结果</returns>
78 public static bool MoveFolder(string oldPath, string newPath)
79 {
80 try
81 {
82 Directory.Move(oldPath, newPath);
83 return true;
84 }
85 catch
86 {
87 return false;
88 }
89 }

下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法的更多相关文章
- 请求一个action,将图片的二进制字节字符串在视图页面以图片形式输出
有些时候需要将二进制图片字节在发送浏览器以图片形式显示: 下面是一些示例代码: 控制器: /// <summary> /// 将图片的二进制字节字符串在视图页面以图片形式输出 /// &l ...
- 将图片的二进制字节字符串在HTML页面以图片形式输出
具体实现代码如下: 1.新建一个一般处理程序: Image.ashx using System; using System.Collections.Generic; using System.Linq ...
- asp自动解析网页中的图片地址,并将其保存到本地服务器
程序实现功能:自动将远程页面的文件中的图片下载到本地. 程序代码 <% '将本文保存为 save2local.asp '测试:save2local.asp?url=http://ent.sina ...
- 百度UEditor编辑器关闭抓取远程图片功能(默认开启)
这个坑娘的功能,开始时居然不知道如何触发,以为有个按钮,点击一下触发,翻阅了文档,没有发现,然后再网络上看到原来是复制粘贴非白名单内的图片到编辑框时触发,坑娘啊............... 问题又来 ...
- PHP抓取远程图片教程(包含不带后缀图片)
之前做微信登录开发时候,发现微信头像图片没有后缀名,传统的图片抓取方式不奏效,需要特殊的抓取处理.所以,后来将各种情况结合起来,封装成一个类,分享出来. 创建项目 作为演示,我们在www根目录创建项目 ...
- php抓取远程数据显示在下拉列表中
前言:周五10月20日的时候,经理让做一个插件,使用的thinkphp做这个demo 使用CURL抓取远程数据时如果出现乱码问题可以加入 header("content-type:text/ ...
- 【转载】ASP.NET以Post方式抓取远程网页内容类似爬虫功能
使用HttpWebRequest等Http相关类,可以在应用程序中或者网站中模拟浏览器发送Post请求,在请求带入相应的Post参数值,而后请求回远程网页信息.实现这一功能也很简单,主要是依靠Http ...
- php使用curl简单抓取远程url的方法
这篇文章主要介绍了php使用curl简单抓取远程url的方法,涉及php操作curl的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了php使用curl抓取远程url的方法.分 ...
- 利用wireshark抓取远程linux上的数据包
原文发表在我的博客主页,转载请注明出处. 前言 因为出差,前后准备总结了一周多,所以博客有所搁置.出差真是累人的活计,不过确实可以学习到很多东西,跟着老板学习做人,学习交流的技巧.入正题~ wires ...
随机推荐
- 有用的java工具
1.Jsoup html页面解析 2.FastJson java中json处理工具,类似于gson 3.jodd 类似于apache commons的一些常用工具集 4.Selenium IDE we ...
- ASP.NET匿名对象与集合的使用
一.关于匿名类型的特性 1.匿名类型 定义:匿名对象 var vobj = new { id = "编号", title = "标题", content = & ...
- Extjs的各版本下载
Extjs的版本繁多,本文收集了Extjs各个版本的下载链接,包括官网和非官网的,以及各种汉化版api,欢迎大家下载分享. Extjs最新版下载链接:http://www.sencha.com/pro ...
- dir for RequestHandler and request
两个对象的dir # RequestHandler ['GET', 'GETPOST', 'POST', 'SUPPORTED_METHODS', '_ARG_DEFAULT', '_INVALID_ ...
- Eclipse Java注释模板设置详解以及版权声明
网上的Eclipse注释模板,在这里稍稍整理一些比较常用的. 编辑注释模板的方法:Window->Preference->Java->Code Style->Code Temp ...
- Webwork【07】文件上传下载
Web上传和下载应该是很普遍的一个需求,无论是小型网站还是大并发访问的交易网站.WebWork 当然也提供了很友好的拦截器来实现对文件的上传,让我们可以专注与业务逻辑的设计和实现,在实现上传和下载时顺 ...
- HTML拾遗
一:标签 1:强调 <strong>加醋.<em>斜体 2:单独样式 <span>如果不加样式,那它包围的文字就是普通文字,可以在span中增加样式,就所包围的内容 ...
- NDK编译常用命令及不同版本so编译方法
工具说明 addr2line 把程序地址转换为文件名和行号.在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号. ar 建立.修改.提取归 ...
- cocos2d-js 免安装在线版 粒子编辑器 particle editor particle builder 兼容pex和plist
http://onebyonedesign.com/flash/particleeditor/ 这个原来是为flash starling设计的粒子系统编辑器,但实际上,还是能兼容cocos2d的. 只 ...
- NPOI 中的公式列的值的获取
方法1 NPOI 中,对 sheet 对象设置 ForceFormulaRecalculation = true,即可实现自动将 Excel 的公式计算出来. 方法2 循环 Excel 的行.列,取出 ...