2010-03-21 73 views
1

這就是我現在正在使用的文件駐留在同一臺服務器上,它的工作原理。如何在ASP.Net中使用Server.MapPath打開遠程文本文件?

Dim FILENAME as String = Server.MapPath("Output.txt") 

Dim objStreamWriter as StreamWriter 
objStreamWriter = File.CreateText(FILENAME) 

dr = myCommand.ExecuteReader() 
While dr.Read() 

objStreamWriter.WriteLine("{0}|{1}|{2:yyyy-MM-dd}|{3:yyyy-MM-dd}", dr(0), dr(1), dr(2), dr(3)) 

End While 
objStreamWriter.Close() 

我打算將文件FTP傳送到另一臺服務器做一次,但有沒有辦法做到這一點在遠程服務器上?即在遠程服務器上創建一個文本文件並寫入它?沒有找到該用法的任何實例。在這種情況下如何使用ServerXMLHTTP替換Server.MapPath?

非常感謝你的時間。

回答

1

使用MapPathStreamWriter這種方式將不起作用。這是針對本地文件場景的。您可以使用FtpWebRequest直接從.net FTP文件。

下面是使用的FtpWebRequest寫(來自實施例here)的文件的一個例子:

 FtpWebRequest request = 
      (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/output.txt"); 
     request.Method = WebRequestMethods.Ftp.UploadFile; 

     // This example assumes the FTP site uses anonymous logon. 
     request.Credentials = 
      new NetworkCredential ("anonymous","[email protected]"); 

     Stream requestStream = request.GetRequestStream(); 
     requestStream.Write(stuff); // write your stuff here 
     requestStream.Close(); 

     FtpWebResponse response = (FtpWebResponse)request.GetResponse(); 

     Console.WriteLine("Upload File Complete, status {0}", 
      response.StatusDescription); 

     response.Close(); 
+0

感謝您的溶液。該輸出文件是定期創建的。如何遠程刪除文件並將新創建的文件放在那裏? – ThinkCode 2010-03-21 14:23:56

+0

@NHTechGuy - 看看這個鏈接:http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx還有一個如何刪除遠程文件的例子。 – Keltex 2010-03-21 15:07:41