C#使用FtpWebRequest上传文件

System.Net命名空间下的FtpWebRequest类实现了ftp协议的.Net实现。

  • FtpWebRequest.KeepAlive指定在请求完成后服务器是否要马上关闭连接
  • FtpWebRequest.UseBinary 指定文件以二进制方式传输
  • FtpWebRequest.Method设置ftp的命令
  • WebRequestMethods.Ftp.UploadFile是上传文件的命令

使用FtpWebRequest对象上传文件时,需要向GetRequestStream方法返回的Stream中写入数据。

需要引用如下命名空间

using System.Net;
using System.IO;

FTP上传文件代码实现:

public void ftpfile(string ftpfilepath, string inputfilepath)
{
    string ftphost = "127.0.0.1";
    //here correct hostname or IP of the ftp server to be given  

    string ftpfullpath = "ftp://" + ftphost + ftpfilepath;
    FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath);
    ftp.Credentials = new NetworkCredential("userid", "password");
    //userid and password for the ftp server to given  

    ftp.KeepAlive = true;
    ftp.UseBinary = true;
    ftp.Method = WebRequestMethods.Ftp.UploadFile;
    FileStream fs = File.OpenRead(inputfilepath);
    byte[] buffer = new byte[fs.Length];
    fs.Read(buffer, 0, buffer.Length);
    fs.Close();
    Stream ftpstream = ftp.GetRequestStream();
    ftpstream.Write(buffer, 0, buffer.Length);
    ftpstream.Close();
}

调用方法:

ftpfile(@"/testfolder/testfile.xml", @"c:\testfile.xml");
时间: 2024-10-07 06:23:02

C#使用FtpWebRequest上传文件的相关文章

再看ftp上传文件

前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在本地测试程序上传到ftp服务器一点问题都没有,奇怪的是当发布Web和ftp到同一个IIS下,上传文件时程序直接卡死,然后页面卡死,后来我又发现把Web和ftp分开发布在两台机器上问题又得到解决,所以当时放弃了这个方案. 再看ftp上传文件 前几天偶然看到Wolfy写到一个项目总结,其中提到了用Ser

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

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

【12】FtpWebRequest上传下载

下载文件 1 /// <summary> 2 /// 下载文件 3 /// </summary> 4 /// <param name="filename"></param> 5 private static void DownLoadFile(string filename) 6 { 7 FtpWebRequest req = (FtpWebRequest)WebRequest.Create("ftp://" + Ft

ASP.NET跨服务器上传文件的相关解决方案

第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ Page Language="C#" EnableViewState="false"%> <%@ Import Namespace="System.Net" %><%@ Import Namespace="Syste

.net ftp上传文件方法

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.IO;using System.Net;using System.Text;using System.Configuration; namespace DlnOffice.general.netdisk{ p

asp.net上传文件

第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ Page Language="C#" EnableViewState="false"%> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="Syst

使用FTP上传文件到服务器

最近做项目遇到一个功能,需要将文件上传到服务器上面,在网上看到有很多解决方案,最常用的是FTP.Socket和WebClient,这里写的基于FTP上传的. public class FTPClass { /// <summary> /// FTP /// </summary> /// <param name="Server">服务</param> /// <param name="Port">端口<

C# FileStream进行FTP服务上传文件和下载文件

定义FileStream类的操作类:操作类名: FtpUpDown 上传文件 /// <summary> /// 上传文件 /// </summary> /// <param name="localpath">上传文件的全路径 例@"D:\123.txt"</param> /// <param name="ftppath"></param> /// <returns&g

异步上传文件(jquery.form)+进度条+上传到ftp服务器

最近写了一个小项目需要上传文件显示进度条到ftp,总结一下分享 我用的是jQuery.form.js上传 ftp服务器,自己百度去搭建很简单的 Talk is cheap.Show me your code.         GitHub上面的源码:https://github.com/Vinkong/learngit aspx页面 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Def