与FTP使用的FtpWebRequest传输文件

目前我在做这个FTP传输。 http://msdn.microsoft.com/en-us/library/ms229715.aspx

我已经安装在我的服务器计算机IIS来有一个FTP站点上的端口21和传送文件的伟大工程。 不过,我想增加ftp到一个托管的网站,我得到了在服务器上,它在这里,我得到了问题的连接。 当我试图通过命令连接PROMT我收到未知主机错误。 我已经改变了口,并在防火墙中打开它。 即使我可以连接我怎么能决定我要上传到哪个文件夹?

--------------解决方案-------------

  1. 你仍然有问题,连接与服务器..尝试ping命令,看看你未知的主机错误。
  2. 对于上传路径问题,你需要给文件夹的全路径,你需要将文件上传到。 这里有一个例子代码:

    如果(网站!= NULL && FOLDERPATH!= NULL &&文件名!= NULL){
    FTPrequest =(的FtpWebRequest)FtpWebRequest.Create(新的URI(CompletePath));
    }

而平安会告诉你,如果服务器存在,你应该尝试直接远程登录到要测试的端口。

>> telnet url portnumber
>> telnet ftp.mydomain.com 21

如果远程登录成功后,可以肯定的是,FTP端口处于激活状态和可访问的,那么你就可以着手解决您的问题。

最好的做法是

不要试图一个自动化的过程,你不能手动完成。

因此,远程登录,然后测试或者FTP命令行或使用实用工具,如FireFTP的/可爱的FTP,不管你选择。

如果你能够得到这样的测试工作,那么你将能够识别你的麻烦的确切原因。

一旦你拥有了成功测试访问您的FTP站点。 通过在整个URI到的FtpWebRequest。

下面是我为测试所创建的功能。

public static void DoQueryAndUploadFile(string uri, string username, string password, string filename)
{
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(uri + "/" + filename);
ftp.Method = WebRequestMethods.Ftp.UploadFile;
ftp.Credentials = new System.Net.NetworkCredential(username, password);

using(StreamWriter sw = new StreamWriter(ftp.GetRequestStream()))
{
// Do the query here then write to the ftp stream by iterating DataReader or other resultset, following code is just to demo concept:
for (int i = 0; i < 100; i++)
{
sw.WriteLine("{0},row-{1},data-{2}", i, i, i);
}
sw.Flush();
}
}

后来我有一个问题,我有2 FTP对我的IIS使用相同的IP,所以我用虚拟的名字他们。 我不知道如何从我的代码连接到但这仅仅是那些你去喜欢呜呜呜愚蠢的时刻之一。

解决方案是真正的方便,所以我想如果你们任何人得到了相同的问题,因为我做了我也有同感。 关键是要使用虚拟名称作为用户名,并使用不同的IT | 然后居然写你真实的用户名。

ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://IP:PORT/PATH/THE FILE"));
ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;
ftpRequest.Proxy = null;
ftpRequest.UseBinary = true;
ftpRequest.UsePassive = false;
ftpRequest.Credentials = new NetworkCredential("VIRTUAL NAME|MY USER", "MY PASSWORD");

分类:asp.net 时间:2012-12-04 人气:0
本文关键词: asp.net
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.611 (s). 10 q(s)