c#实现ftp上传代码

c#实现ftp上传代码

(2010-04-06 19:26:50)

转载▼

标签:

it

 

using System.Net; 
using System.IO;

//调用以下函数 
private FtpStatusCode UploadFun(string fileName, string uploadUrl) 

Stream requestStream = null; 
FileStream fileStream = null; 
FtpWebResponse uploadResponse = null; 
try 

FtpWebRequest uploadRequest = 
(FtpWebRequest)WebRequest.Create(uploadUrl); 
uploadRequest.Method = WebRequestMethods.Ftp.UploadFile;

uploadRequest.Proxy = null; 
NetworkCredential nc = new NetworkCredential(); 
nc.UserName = "aa"; 
nc.Password = "aa123";

uploadRequest.Credentials = nc; //修改getCredential();错误2

requestStream = uploadRequest.GetRequestStream(); 
fileStream = File.Open(fileName, FileMode.Open);

byte[] buffer = new byte[1024]; 
int bytesRead; 
while (true) 

bytesRead = fileStream.Read(buffer, 0, buffer.Length); 
if (bytesRead == 0) 
break; 
requestStream.Write(buffer, 0, bytesRead); 

requestStream.Close();

uploadResponse = (FtpWebResponse)uploadRequest.GetResponse(); 
return uploadResponse.StatusCode;


catch (UriFormatException ex) 


catch (IOException ex) 


catch (WebException ex) 


finally 

if (uploadResponse != null) 
uploadResponse.Close(); 
if (fileStream != null) 
fileStream.Close(); 
if (requestStream != null) 
requestStream.Close(); 

return FtpStatusCode.Undefined; 
}

//调用例子 
FtpStatusCode status = UploadFun(@"d:\1\1.txt", "ftp://域名/目录/保存文件名"); 

FtpStatusCode返回状态说明:

FtpStatusCode指定为文件传输协议 (FTP) 操作返回的状态代码。

AccountNeeded 指示需要服务器上的用户帐户。
ActionAbortedLocalProcessingError 指示发生了阻止完成请求操作的错误。
ActionAbortedUnknownPageType 指示不能采取请求的操作,因为指定的页类型是未知的。RFC 959 的 3.1.2.3 节中介绍了页类型
ActionNotTakenFilenameNotAllowed 指定无法对指定文件执行请求的操作。
ActionNotTakenFileUnavailable 指定无法对指定文件执行请求的操作,原因是该文件不可用。
ActionNotTakenFileUnavailableOrBusy 指定无法对指定文件执行请求的操作,原因是该文件不可用或正在使用中。
ActionNotTakenInsufficientSpace 指示不能执行请求的操作,因为服务器上没有足够的空间。
ArgumentSyntaxError 指示一个或多个命令参数具有语法错误。
BadCommandSequence 指示命令序列的顺序不正确。
CantOpenData 指示无法打开数据连接。
ClosingControl 指示服务器正在关闭管理连接。
ClosingData 指示服务器正在关闭数据连接,并且请求的文件操作成功。
CommandExtraneous 指示服务器未执行该命令,因为无需此命令。
CommandNotImplemented 指示 FTP 服务器未执行该命令。
CommandOK 指示命令成功完成。
CommandSyntaxError 指示命令具有语法错误或不是服务器可识别的命令。
ConnectionClosed 指示连接已关闭。
DataAlreadyOpen 指示数据连接已打开并且请求的传输已开始。
DirectoryStatus 指示目录状态。
EnteringPassive 指示服务器正在进入被动模式。
FileActionAborted 指示不能执行请求的操作。
FileActionOK 指示请求的文件操作成功完成。
FileCommandPending 指示请求的文件操作需要其他信息。
FileStatus 指示文件状态。
LoggedInProceed 指示用户已登录且可发送命令。
NeedLoginAccount 指示服务器需要提供登录帐户。
NotLoggedIn 指示登录信息必须发送到服务器。
OpeningData 指示服务器正在打开数据连接。
PathnameCreated 指示请求的路径名已创建。
RestartMarker 指示响应包含一个重新启动标记回复。此状态附带的说明文本包含用户数据流标记和服务器标记。
SendPasswordCommand 指示服务器需要提供密码。
SendUserCommand 指示服务器已能进行用户登录操作。
ServerWantsSecureSession 指示服务器接受客户端指定的身份验证机制,并且安全数据交换完成。
ServiceNotAvailable 指示此服务不可用。
ServiceTemporarilyNotAvailable 指示此服务现在不可用;请稍后再试您的请求。
SystemType 指示使用 Internet Assigned Numbers Authority(Internet 号码分配机构)出版的 Assigned Numbers(号码分配)文档中发布的系统名的系统类型名称。
Undefined 包含此值是为了完整性,服务器从不返回此值。

时间: 2024-10-13 00:53:45

c#实现ftp上传代码的相关文章

FTP上传代码

/// <summary> /// 定时上传 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timerFtp_Tick(object sender, EventArgs e) { DateTime Dtime = DateTime.Now; if (Dtime.

20160113006 asp.net实现ftp上传代码(解决大文件上传问题)

using System;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using

C# ftp 上传、下载、删除

1 public class FtpHelper 2 { 3 public static readonly FtpHelper Instance = new FtpHelper(); 4 5 /// <summary> 6 /// 取得文件名 7 /// </summary> 8 /// <param name="ftpPath">ftp路径</param> 9 /// <returns></returns> 10

python之实现ftp上传下载代码(含错误处理)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之实现ftp上传下载代码(含错误处理) #http://www.cnblogs.com/kaituorensheng/p/4480512.html#_label2 import ftplib import socket import os def ftpconnect(ftp_info): try: ftp = ftplib.FTP(ftp_info[0]) except (socket.er

python之模块ftplib(实现ftp上传下载代码)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) from ftplib import FTP def ftpconnect(): ftp_server='ftp.python.org' ftp=FTP() ftp.set_debuglevel(2)#打开调式级别2 ftp.connect(ftp_server,21) ftp.login('',''

C# FTP上传文件至服务器代码

C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件</param> /// <param name="targetDir">目标路径</param> /// <param name="hostname">ftp地址</param&g

FTP上传指定文件夹及其文件到服务器

1.在服务器端的IIS上建立一个FTP站点 注意事项:路径关联到你要存放(上传内容)的文件夹名称: 指定这个FTP站点的ip地址和端口号 2.本地准备代码 -------------------------------2.1上传类--------------------------------------------------------- public class Up    {        /// <summary>        ///   上传文件菜单        /// <

C#的FTP上传下载的实验

前段时间做了一个FTP操作服务器文件的实验,现在把一些经验写下来,免得忘记. 1.上传的处理:目标文件夹A上传到服务器指定目录.先检索服务器目录中有无同名文件夹,若有,则先改名,上传成功后再删除,上传失败则回复文件夹名. 1).检查文件夹是否存在 /// <summary> /// 检查文件夹在服务器上是否已存在 /// </summary> /// <param name="path"></param> /// <returns&

python基础----socketserver多并发实现、FTP上传多并发

一.socketserver多并发                                                              基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环 socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题)     (1)server类     (2)request类     (3)继承关系 以下述代码为例,分析socketserver源码: ftpserver=socket