ASP.NET中使用FTP

可以做个类:

 1 #region FTP
 2
 3     string ftpServerIP;         // FTP服务器的地址
 4     string ftpRemotePath;       // FTP目录
 5     string ftpUserID;           // FTP用户ID
 6     string ftpPassword;         // FTP密码
 7     string ftpURI;              // FTP URI
 8
 9     /// <summary>
10     /// 连接FTP
11     /// </summary>
12     /// <param name="FtpServerIP">FTP连接地址</param>
13     /// <param name="FtpRemotePath">指定FTP连接成功后的当前目录, 如果不指定即默认为根目录</param>
14     /// <param name="FtpUserID">用户名</param>
15     /// <param name="FtpPassword">密码</param>
16     public void FtpInitial(string FtpServerIP, string FtpRemotePath, string FtpUserID, string FtpPassword)
17     {
18         ftpServerIP = FtpServerIP;
19         ftpRemotePath = FtpRemotePath;
20         ftpUserID = FtpUserID;
21         ftpPassword = FtpPassword;
22         ftpURI = "ftp://" + ftpServerIP + "/" + ftpRemotePath + "/";
23     }
24
25     /// <summary>
26     /// 连接FTP
27     /// </summary>
28     /// <param name="FtpRemotePath">指定FTP连接成功后的当前目录, 如果不指定即默认为根目录</param>
29     public void FtpInitial(string FtpRemotePath)
30     {
31         ftpServerIP = "10.0.0.1";
32         ftpRemotePath = FtpRemotePath;
33         ftpUserID = "ftp_user_id";
34         ftpPassword = "pwd";
35         ftpURI = "ftp://" + ftpServerIP + "/" + ftpRemotePath + "/";
36     }
37
38     /// <summary>
39     /// 使用FTP上传
40     /// </summary>
41     /// <param name="filename">上传的文件名</param>
42     public void FtpUpload(string filename)
43     {
44         FileInfo fileInf = new FileInfo(filename);
45         string uri = ftpURI + fileInf.Name;
46         FtpWebRequest reqFTP;
47
48         reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));// 根据uri创建FtpWebRequest对象
49         reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
50         reqFTP.KeepAlive = false;
51         reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
52         reqFTP.UseBinary = true;
53         reqFTP.ContentLength = fileInf.Length;
54         int buffLength = 2048;
55         byte[] buff = new byte[buffLength];
56         int contentLen;
57         FileStream fs = fileInf.OpenRead();
58         try
59         {
60             Stream strm = reqFTP.GetRequestStream();
61             contentLen = fs.Read(buff, 0, buffLength);
62             while (contentLen != 0)
63             {
64                 strm.Write(buff, 0, contentLen);
65                 contentLen = fs.Read(buff, 0, buffLength);
66             }
67             strm.Close();
68             fs.Close();
69         }
70         catch (Exception ex)
71         {
72             Console.WriteLine(ex.Message);
73         }
74     }
75
76     #endregion
时间: 2024-12-14 05:27:30

ASP.NET中使用FTP的相关文章

029.ASP.Net中的缓存机制

ASP.Net中的缓存 输出缓存1. 整页缓存 缓存整个页面的输出结果 Duration 缓存时间:绝对过期 VaryByParam:依据参数值缓存,没有为None,多个用;分割 Location:缓存的位置 代码在 ftp 的 Cache目录内 2. 片段缓存 使用用户控件,将需要缓存的内容放入用户控件 指定shared=true,可以多个页面共享缓存结果 3.Substitution控件 在整页都缓存的情况下,可以部分更新内容 配置MethodName属性,对应的.cs中的方法原型是 str

教你ASP.NET中如何防止注入攻击

你应该在程序中验证所有的不信任输入.你应该假定所有的用户输入都是非法的.用户可以在应用程序中提供表单字段,查询字串,客户端cookies和浏览器环境值比如用户代理字串和IP地址等. 弱输入校验通常为注入攻击提供了机会.下面是常见的利用弱输入校验或无输入校验进行攻击的手段. SQL 注入(SQL injection). 如果你使用用户的输入值来动态构造SQL语句,那么数据库可能执行攻击性的有害SQL语句. 跨站脚本(Cross-site scripting). 跨站脚本攻击利用网页验证漏洞注入客户

asp.ne中使用ajax和controller进行通信问题记录

为了页面显示和后端处理分离,使用了html+ajax+mvc的形式进行处理. 在这其中遇到的问题记录: 1. 在使用ajax向controller请求数据的时候,"get"方法会缓存上一次的请求,导致controller方法不能被debug跟踪到,开始以为是vs出错了,到后来才搞清楚. 解决方法:请求controller路径时加上随机数,或者使用"post"方法. 2. 在使用"POST"方法时,IE11要小心处理,因为ie会出现怎么都执行不了的

ASP.NET中的几种分页

1.通过DataGrid控件实现分页 ASP.NET中的DataGrid控件自带了分页功能,当绑定了DataGrid的数据源之后,须要对DataGrid控件进行一些设置: 左击控件右上角的小箭头→属性生成器: 选择左边的[分页]选项卡 选中[同意分页].[页大小]表示一页显示多少条数据:导航button的[位置]有顶.底.上下型三种选择.[模式]有页码和"上一页.下一页button".假设选择了页码模式.[数值button]表示最多显示的button数量,假设选择了还有一种模式,&qu

asp.net中session的原理及应用

Session简介丶特性 1.Session是一种Web会话中的常用状态之一. 2.Session提供了一种把信息保存在服务器内存中的方式.他能储存任何数据类型,包含自定义对象. 3.每个客户端的Seesion是独立存储的. 4.在整个会话过程中,只要SessionID的cookie不丢失,都会保存Session信息的. 5.Session不能跨进程访问,只能由该会话的用户访问.应为提取Session数据的id标识是以Cookie的方式保存到访问者浏览器的缓存里的. 6.当会话终止,或过期时,服

asp.net中javascript与后台c#交互

asp.net中javascript与后台c#交互 作者:熊猫大叔 字体:[增加 减小] 类型:转载 时间:2015-10-23我要评论,出处:http://www.jb51.net/article/73793.htm 这篇文章主要介绍了asp.net中javascript与后台c#交互,需要的朋友可以参考下 最近做一个小项目,网页中嵌入google maps,输入经纬度坐标可以定位地图位置并加注标记,点击标记获取远端摄像头数据并在视频窗口实现播放.在实际操作过程中,由于经纬度数据和视频登录的用

ASP.NET中Session的sessionState 4种mode模式

1. sessionState的4种mode模式 在ASP.NET中Session的sessionState的4中mode模式:Off.InProc.StateServer及SqlServer. 2. Off模式 <sessionState mode="Off"></sessionState> 关闭模式,即不需要使用Session. 单个页面关闭Session: <%@ Page EnableSessionState="false" %

ASP.NET中常用的优化性能的方法

1. 数据库访问性能优化  数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求. 连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完

ASP.NET中的&lt;%%&gt;介绍

一.主要用于ASP.NET前台绑定用的最多: <%#Eval("")%> <%#Bind("")%> <%=变量%> 1.<%#Eval("数据列")%>主要用于需要进行更改的数据列 如:需要将<%Eval("性别")%>=1:将1转换成女. 首先在.CS文件中定义一个方法: 1 public object ChangeSex(object obj) 2 { 3 if